We booked a private tour with Stuart Cove's in Nassau. Well worth the money.
http://www.snorkelbahamas.com/index.html
I just checked their web site and think the price has gone up--I think we paid $35 pp in Oct last year. 3 snorkel stops, swim with sharks...everyone really enjoyed the excursion.
P.S. If you book with them, keep an eye out for the earring I lost at stop #1....lol