St John is my favorite island for staying in one place the entire week (since we started sailing we like to charter a sailboat and do a private cruise with a few close friends). I have not been their since the hurricanes, so are commendations are pre- disaster.
All of the typical recommended sites are great - Trunk Bay, Cinnamon Bay, Hawksnest, etc. and accessible from shore. Check what days of the week that they bring people over from cruise ships at St Thomas and avid those days or go early in the day or later in the afternoon to avoid the buses of tourists.
There is good snorkeling up by Anaburg Plantatoin. You can swim over to Waterlemon Cay and snorkel around the entire shore of the tiny island. On the walk out there, there is an area to stop and get in the water that is referred to as the Octopus’s Garden - you guessed it, you have a great chance of seeing octopus. Be alert - they are very hard to spot unless they move.
There are some less known areas out by Salt Pond, but I see to recall needing to know how to find the best spot, something like go out, and around to the left... My avatar photo of an Eagle Ray was taken out this way. Eagle Rays are so cool!
All of that said, I recommend that you plan early in your stay to do a day excursion on a boat. They typically take you to a couple of great spots in the BVI: the Indians, the Caves on Virgin Garda, and finally stop at the Soggy Dollar on Jost Van Dyke. During the trip, chat with your crew - they live on St. John and will usually be happy to give you pointers on where to go based on local knowledge that will be current. I recommend is Bad Kitty, part of Calypso charters. It is a power catamaran that zips over to the BVI. I think they typically take out about 20 people. If you are doing this remember you will need a passport to enter the BVI.
Have a great trip.
Kim