St. John, USVi has good snorkeling from shore from many of its beaches. This is our favorite for everything on one island and its easy to get to from the east coast via St. thomas. It is definitely worth doing a day trip to snorkel Norman Island, the Caves, and the Indians. Several outifts do this trip from several islands in the VI and then end up at Jost Van Dyke for painkillers at the Soggy Dollar. If you are staying on just one island in the VI, I recommend St. John. Stay in Cruz Bay, we love Garden by the Sea for lodging.
In BVI, Anageda has good snorkling from the north shore, but Anageda is hard to get to.
Caicos (never stayed on Turks) had good snorkeling, but the best was from boat trips.
The out islands of the Bahamas (We've been to Exuma and Eulethera) have some good snorkeling, but I can't recall how much we did from shore.