There are so many great beaches in St. John that you won't get to them all in 4 days. Make sure to rent your jeep early because reservations fill up. Also plan to be at the beach before 9 am or after lunch around 2 pm because parking is limited and fills up quickly in the morning and doesn't start clearing out until around 2.
Beaches / Beach Clubs - rough order of my favorites
all these beaches are absolute top notch beautiful, as in the best in the Caribbean if not the world, calm gin clear water and have good food, drink and restroom facilities. Each of these beaches have good snorkeling on the sides of the cove next to the rocks.
Maho Beach - swim with turtles and rays, great food and drink trucks, the best island experience ever
Caneel Bay Beach Club - get a reservation for beach chairs / cabana for the day, the only beach where you don't have to bring your own chairs and towels
Trunk Bay - iconic beach and a bit crowded since its so famous but still enough room to find a good spot, advertised snorkeling trail is overrated, but still a phenomenal beach with food and drink facilities with very good painkillers
Cinnamon Bay - another great beach
Restaurants
Windmill Bar - iconic view and must go at sunset, front row tables start clearing out right when the sun goes over the horizon but the view is still phenomenal for the next 30 min so grab a seat and a drink and enjoy
ZoZo's at Caneel Bay - the most expensive restaurant on the island but also the best. Get your reservation for 30 min before sunset to enjoy the view
The Beach Bar in Cruz Bay - it's a dive beach bar, but a great dive beach bar
Ocean 362 is also pretty good and need reservation
Driving to Coral Bay takes longer than it looks, and I wouldn't bother on your first trip to St. John. Also you can go to Jost Van Dyke to see something different, but it won't be better than what you have on St. John. And spend as little time as possible on St. Thomas. Other than the bar at the Red Hook ferry terminal is fun for a drink while you are waiting on the ferry.
Lastly, if you are taking a taxi from on St. Thomas from the airport to Red Hook ferry terminal, I strongly recommend you pay for a private taxi other wise you will be funneled into a van with a bunch of people and the van will make multiple stops at St. Thomas resorts on the way to the ferry terminal which is the last stop. So your taxi ride will take at least twice as long. I think its around $75-$100 for a one way private taxi for 2 people vs $15 pp for the van. After getting your bags when you walk out of the airport just start asking loudly for a private taxi and all the van drivers will point you in the right direction.