Why not take a cruise? Then you can swim on board and snorkel as well on an excursion.