I haven't been to STX but we love STJ and go every year. St. John and St. Thomas are quite different.
St. John is much smaller and 2/3 of the island is national park so there is very little development. The beaches are fantastic. The dining and entertainment is in Cruz Bay, a nice little town with many restaurant choices.
We also like Virgin Gorda in the BVIs but it requires a little more work to get there. Not a huge deal but it means the difference between being on the beach in the afternoon versus not arriving until late afternoon, which is why we (travelling with a young child) haven't returned to VG yet.
OP - are you looking for a resort experience or rental house?