There is no direct flight between Phnom Penh and Sihanoukville
Currently one can travel between these two cities by bus or train only
I took the bus because there were more departure options than trains
Bus to Sihanoukville from Phnom Penh:
Fare ranges from $7USD to $12 USD each way
Takes 4-6 hours each way depending on which bus you take
Very frequent departures from as early as 6:30am to as late as 5:45pm
I recommend booking ahead of time to secure your seats. Some popular departure times can sell out a few weeks in advance
There is no central bus terminal to go to. Each bus operator have their own pickup points. You need to find out where your bus is picking you up from the bus company directly
Takes 7 hours each way, but frequently delayed by 2-4 hours
Trains are only available on weekends
Phnom Penh Station is located here, very central and can be easily accessed by taxi for cheap. Sihanoukville Station is located here, a little bit away from the beach and the hotels. You should ask if your hotel can pick you up from the train station for free. Otherwise take a tuk tuk for $2-$4 USD to get to your hotel
Train schedule from Phnom Penh to Sihanoukville:
Friday: 7am departure from Phnom Penh
Saturday: 7am departure from PP
Sunday: 7am and 4pm departures from PP
Train schedule from Sihanouville back to PP:
Saturday: 7am departure from Sihanouville
Sunday: 7am and 4pm departures from Sihanoukville
How to check current schedule and book: do it directly from Royal Railway's new booking website: http://royalrailway.easybook.com
Reasons to take the train:
Much more comfortable and space to move around
Nice countryside scenery
Stops along the way for you to buy stuff
Reasons to NOT take the train:
Buses take much shorter and less likely to be delayed