Many of the best snorkeling and underwater photography areas are offshore at coral reefs or around uninhabited islands; you'll have little difficulty in finding a boat to take you out.
You can take a boat to find the best snorkeling areas at coral reefs.
The best snorkeling locations are found in the harbors and just offshore of the main beaches, which you can swim to.