One thing to keep in mind, but you rarely see it used in most hobbyist ultrasonic distance sensing setups, is that with the right transducer, you can use a single transducer and a special setup of circuit to allow you to use only one transducer for sending and receiving.
A good place I have found for circuit examples showing how this can be done is found here:
This company sells ultrasonic transducers (they aren't cheap, which is why you don't typically see this on hobbyist level devices), and they supply reference schematics for driver circuits for them.
These kind of transducers (that can send and receive), as noted, tend to be expensive; the cheapest form I have seen (which also has a very narrow pattern with long distance throw, BTW) has been the Polaroid 6500 series system; the company that makes it now is called SensComp, and AcroName is a distributor:
http://www.acroname.com/robotics/parts/c_Sensors.html (scroll towards the bottom to find them)
They are more expensive than your typical "Ping"-style ultrasonic sensors, buy they are nice units, and have been used by hobbyists for decades. The cheapest way to get them are to find old Polaroid cameras (Sun 660 and Spectra, for instance) at a thrift stor and hack the sensor to use them with a microcontroller (there was a recent writeup on how to do this in an issue of Servo Magazine, IIRC). You shouldn't spend more the five dollars for the camera (do not buy one on Ebay - the sellers there are selling to the Polaroid enthusiast market - I don't know how, but there are enthusiasts for that thing - and they charge way more than the cameras are worth).
Other similar send/receive ultrasonic tranducer/sensor packages are the ones made my MaxBotix: