Well, for a completely different opinion on Sihanoukville... I went to Otres 1 and 2 this week and didn't like it at all. The beach an sea are stunning, but there are guesthouses and restaurants all along it, not much privacy, and most places playing music late into the night. There are some quieter more upmarket places to stay on the other side of the road from the beach (still v close), and these cost from around $30 to $120 a night.
I like peace and quiet, but am also
I'm a budget and can't afford more than $20 a night, so it wasn't for me.
Kep is quite nice, although the beach doesn't compare to Otres. However there is also a small national park there and most of the guesthouses are surrounded by nature...very peaceful. I recommend Lida Khmer and Khmer Hands Bungalows.
I really like Kampot, although it's a riverside town, not a beach. Very cute though.