Bang Saphan has a train station and they are proud of it, so buses are frowned upon in these parts. Also for logistical reasons, the train is usually the best way to go. There are six departures a day heading south to Chumphon or north to Prachuap Khiri Khan, while there are seven Bangkok trains daily.
Bang Saphan Noi also has a train station but not as many trains stop there.
Most buses coming from Bangkok will drop you on Petchakasem Road (Highway 4), a good 10 kilometres from town, meaning you'll then need to get a motorbike taxi from there into Bang Saphan Yai proper. This is why most heading here come by train. There are direct buses (10 departures daily, around 300 baht) from Bang Saphan Yai town to Bangkok.
To get to Bang Saphan Yai from Bangkok, you'll have to get a Bang Saphan Yai bus from the Southern Bus Terminal (Sai Tai Mai) in Bangkok, which will drop you off in town. Departures run from 07:30 to 23:00. From town, a taxi to your guesthouse should cost around 100 baht, or call the guesthouse and they'll most likely pick you up for free.
Leaving Bang Saphan, it's a lot easier to arrange transportation to get out to the highway -- again, the staff at your guesthouse or bungalow may even do it for free if you let them know your needs ahead of time. Once on the highway, flag down any bus since even a Hat Yai bus will drop you in Chumphon or Surat Thani if they have available seats.
Getting to your guesthouse from town by motorbike taxi should cost around the 100 baht mark. Call ahead, and most places will come and pick you up. But unless you're planning to hole up in a bungalow and laze the days and nights away, or you stay at a place like the Coral Hotel, which offers daily excursions, getting around Bang Saphan is challenging without a motorcycle. Almost everywhere you stay motorcycle rentals will be available, usually for 200-250 baht per day. The easiest thing to do is rent one from Bang Saphan Yai town after you arrive by train; otherwise they can also be rented from the beach.