IDX on your website is absolutely crucial. You must choose a provider who allows potential clients to save listings under their own profile and password. I've had great luck with IDXPro a division of iHouseWeb.
Google pay-per-click advertising is great too, but only if you are in a smaller market or have a targeted niche. For instance I look for buyers in the urban loft market in Nashville.
I provide great content on my website. Combined with IDX, e-newsletters, and pay-per-click, I average 35-42 inquiries/registrations per month. They don't always give their full contact info, but usually at least an e-mail address that I can add to my e-newsletter.
Facebook and Myspace are also great ways to keep your name in front of people who already know you.