A whole grand taxi from Marrakech runs anywhere from about 450dh - 1000dh, depending on your negotiating skills, where you are, the mood of the driver, etc. Alternatively, it is about 80dh per place if you wait and take a shared grand taxi six passengers, leave when full.
Supratours run coaches from their offices - immediately next door to Marrakech's new train station - to their office in Essaouira - just down the street from the beach and close to the medina entrance at Bab Marrakech. The 2012 price is 70dh per person for standard bus or 100dh per person for the Comfort Plus bus, plus 5dh for each piece of stowed luggage.
CTM also run a coach service from Marrakech's bus station or the CTM Offices in the Gueliz, on Zerktouni street for 75dh add 5dh per piece of stowed luggage.
At the bus station it is likely that there will always be "a bus departing to Essaouira now". Unless you've time to kill and are not too bothered by hygiene, it's worth avoiding these other services as they will stop all the way to Essaouira, adding 1.5 h to the journey.
Otherwise, the coach trip takes about 3 h including a 15 min halfway stop where you'll find snacks and refreshments, and toilet facilities. There are no facilities aboard the coaches.
Please note: tickets are rarely available for the next departing coach. Try and book your tickets the day before, or further in advance during peak travel periods.