Your absolute best bet is a laser range finder, but they are probably much more pricey than you're interested in. Here's one popular example:
http://www.acroname.com/robotics/par...YO-LASER1.html
I have worked with the Polaroid sonar sensor and the Sharp IR sensor. Both are very popular for robotics, but they have their shortcomings. The Polaroid has a field of view of roughly 25º, which makes it pretty difficult to get any worthwhile angular resolution. The Sharp is better in that respect, but I've found it to become mostly worthless beyond even three feet, and that's with the obstacle being a sheet of wood aligned parallel to the plane of the sensor. If what you're trying to detect isn't flat or well-aligned, your readings become much noisier.
In short, reliably detecting things as narrow as a broomstick will be exceptionally difficult without a laser or a whole bunch of redundant sensors. If you go the latter route, keep in mind that trying to read from multiple sensors at the exact same time may cause some interference... it will take some careful coding to avoid this. Also, if you find yourself with a whole bunch of sonar sensors, expect to be driven nuts by the incessant clicking.
Best of luck on your project... keep us posted on your progress.