Megan's is beautiful - I think the taxi was about $12/pp each way plus and admission fee, but I may be wrong there - 2008 was the last time we were there
Carnival does have a snorkeling excursion to Trunk Bay on St. John (I think) if you are more comfortable doing cruise line excursions. If you have not done so already, create an account on the Carnival website, enter your booking number and you can see information on all the excursions on your cruise. You can even book them if you are concerned about something you really want to do filling up.
Carnival encourages the pre-booking so they can do capacity planning. Of course you have to pay at the time of booking as well so they get a couple of bucks early.