There are very few options to get to / from the island, well 2 to be exact. You can get the ferry from the mainland (if traveling from Bangkok you board a bus to travel down through Thailand then hop on the ferry) which can be fun. Be warned, some busses are amazing, great seats and aircon whilst some are little more than boxes on wheels, check carefully before you book.

The second option, and this is the one chosen by most is with Bangkok Airways www.bangkokair.com who operate a flight in roughly every 45 mins from either Bangkok (lots of flights) or Singapore (once a day). They also operate from Phuket. Fares are reasonable and can be booked online with a secure service at their website. Another hint is to see which plane is operating on your flight, they have two types Jets and older propeller style planes. The jets take around 45 mins from Bangkok and the prop's take around 1 hour 30 minutes.... so you can leave on the jet half an hour after the last flight left and still make it to the island first... Go for the jet !

Update
You can also get a train from Bangkok, complete with sleeper cabin for overnight travellers,then a bus to the ferry. But as with the bus, check the grade of train. For the adventurous with a bit more time, you can get the bus or train to Hua Hin, Lompraya catamaran to Koh Tao for a few nights and from there the catamaran to Koh Pagnan and Koh Samui.

Thai Air has also started flights from Bangkok 3 times a day, some competition at last.

FireFly Airlines https://booking.fireflyz.com.my  now has daily return flights between Koh Samui and Kuala Lumpur, Malaysia (Subang airport, not LCCT). The also have every 2nd day a flight from Penang.

If you are travelling via Singapore, SilkAir www.silkair.com will be starting services to Koh Samui from 27 September 2011. Flights are scheduled to operate three times a week on Tuesdays, Thursdays and Sundays. Flight time is around 1 hour 50 minutes, departing Singapore Changi Airport at 0810hrs and arriving Koh Samui at 0900hrs (local time).