I've used a variety:
Agoda, hotels.com, booking.com, asiarooms.com, even googles own travel search.

The best option I've found is to book direct with a hotel you've been to before, or to look for one when you get there

Watch out for Agoda, a couple of bad experiences with them:

Firstly the prices they quote all through the booking process increases by about 20% when you get to the point of no return as they leave out local taxes and service charge from the initial quote.

Agoda also caused me serious headaches last April when I had to re-arrange my bookings due to being delayed by 8 days because of the Icelandic volcano. The only number I had was their head office in Thailand. I called and faxed them numerous times, and left lots of messages. At the same time there were riots in Bangkok and no one was in the office. In the end I did get through to someone who after about 15 mins of me calling Thailand on my mobile said they'd sort out the date changes and e-mail the voucher to me. They didn't, so I had to call back many times until they eventually sorted it out.
Perhaps this was just an unfortunate chain of events that was beyound anyone's control, but it's put me off using them again.