When it comes time to choose your St John snorkeling accommodations, it will be useful to know that the best snorkeling is almost all closer to Coral Bay than Cruz Bay. Though St John is a small island, the driving is demanding, so choosing Coral Bay will help you cut down on your time in the car.
Of the two towns, Cruz Bay has more accommodation options, including high-end hotel resorts, condominium resorts, small hotels, bed & breakfasts, and villas. Coral Bay mostly has villas and vacation rentals, though there is one eco-resort. Accommodations on St John are not inexpensive generally speaking.
Cruz Bay also has the largest grocery stores and the most restaurants, though Coral Bay has both restaurants and grocery stores too, just fewer and smaller.
For the closest access to the best snorkeling spots on the island, Coral Bay has Cruz Bay beat. The only thing is, there are not as many lodging options. Coral Bay is the quieter choice, being a much smaller and spread out town. The one resort, Concordia Eco-Resort, is a ways south of the main Coral Bay town, near Salt Pond Bay. Other than that you can stay in one of the vacation rentals, usually called villas in St John. Tripadvisor has a number of Coral Bay villa listings.
The island is small, so if staying where there are more restaurant and grocery options appeals to you, driving to the snorkeling from Cruz Bay is totally doable. Just plan on more travel time to get where you are going everyday.
Cruz Bay has more types of accommodation than Coral Bay. You can choose from high-end hotel resorts like Caneel Bay Resort or the Westin St John Resort, both of which are not strictly in Cruz Bay, but nearby. There are also condominium resorts like Gallows Point Resort and Sea Shore Allure. And there are small hotels like Cruz Bay Boutique Hotel and St John Inn. For bed & breakfast options you can choose Garden By The Sea B&B, Estate Lindholm, and Hillcrest Guest House. Last and most numerous are the villas or vacation rentals in Cruz Bay. See some on Tripadvisor.
For those of you who enjoy roughing it, the Cinnamon Bay Campground on the north shore offers a rustic choice. As for using it as a home base for snorkeling the best spots that are concentrated on the east side of the island, it is not bad.
You will find some villas all over the island. Make sure to look at a map before choosing a place to stay outside of Cruz Bay and Coral Bay. Because if you choose to stay in Fish Bay for example, you are increasing how far you have to drive even more. Most of the best snorkeling spots are on the eastern half of the island.
Some St John snorkeling accommodations do not include televisions. Wireless internet is provided in some villas and not in others. Air conditioning may only be in the bedrooms or not supplied at all. If these things are important to you verify them before you book.
Also be aware that most of the fresh water on the island comes from rain water. So unless your villa filters and treats it, you will need to buy bottled drinking water.
Enjoy your snorkeling trip to St John!