Roads in Cambodia become much more better in past few years.
Usually I travel to Cambodia by ground from Bangkok to Aranyapraphet (border) by taxi (2200-2500 Bath) 350 km, then use taxi service in Poi Pet from http://www.angkorcars.com/ - they have good price 45$ per car to Siem Reap and pickup me directly form Cambodian immigration office.
I travel not alone, so cost per person is OK, travel takes about 5 - 5,5 hours in total: a little bit more than with airplane (time of travel to airport in BKK + time in airport + flight + time at Cambodian border + way to hotel in Siem Reap is about 4 hours). But it is more comfortable and quickly than travel by buses.
For to make border crossing even shorter I use Cambodian e-visa from website on Cambodian Ministry of FA http://www.mfaic.gov.kh/evisa/ - excellent service: at working time usually I got visa in 2-3 hours to my e-mail after submitting of request.
As I know there are some taxi services to Sihanukville from Aranyapraphet (Poi Pet at Cambodian side of border), but I haven't use them yet.