Best top 5 yet! I miss Maho Bay Camps 😢 Spent a lot of time at Maho Bay Beach and it’s my favorite too. I love Trunk Bay but it can get a bit too crowded. Honeymoon Beach was the first beach we visited there on our first cruise ship excursion there. Bonus that they have a beach bar there now!
Trunk CAY, not "island". Also a great snorkling cay to go around...Perkins Cay near the end of Peace Hill trail before you hit Denis Beach (where Kenny Chesney married Rene Zellwegger!)
There's really only the Westin Resort on St. John. After that there are small boutique type hotels and home rentals. On the affordable side near Cruz Bay we really like Coconut Coast Villas. On the higher side we really like Grande Bay.