I recently got back from a 2-week trip to USVI and Puerto Rico and wrote up some tips for a friend. Thought I'd share it here in case it's helpful to others.
St John was my absolute favorite place. It's amazing and rustic. I can't help with specifics on accomodations in St John much since I stayed at a friend's house, but her house was next to Maho Eco Campground, which is a pretty cool unique place to stay. They have tents perched on a hill and a great beach you hike down to for 5 mins. This is on the north side of the island where some of the best beaches are located. It's a 20-30 min ride from the main town of Cruz Bay. 2/3 of the island is a national park and the rest is really rustic. Tourists get around by jeeps that they rent and others take open air trucks (about $8 to Maho from Cruz Bay) and hitchhike (pretty common). Of course, you can always stay in Cruz Bay where most of the little shops and most restaurants and bars are (if you stay at Maho, you pretty much bring your own food to cook or eat at the restaurant there) and then take the open air trucks (they go like once an hour or so) and hitchhike to go to various beaches. If you have snorkling gear, bring it since you can just walk into most north side waters and snorkle on your own. The water is awesome..crystal clear. In town, the sushi place is pretty good and there are good sandwiches at a place at the top of the Starfish market. There is also a good used book store at Starfish.
In general, St John is great for hiking, snorkling, sailing, and other outdoor activities. There are also some old plantation ruins you can see. The views are breathtaking. If you are coming from St Thomas, buy whatever you may need there as everything on St John is more expensive since there are only a couple stores.
St Thomas is a lot more developed and bigger. It's just OK in my opinion. There are a bunch of resorts at the beaches (we hung out at Sapphire for a bit). I would go there for a day or two at most. You take a $6 ferry to/from St John. They sometimes have outdoor jazz concerts at the pier. Ask around for things that are going on. It was fun when we went and there are other bars there and good views. You take open air trucks around as well. You just pick them up on the main roads and it's $1 or $2 per trip depending on how far you're going.
Bring your passport if you want to check out some of the British Virgin Islands if you have time. They're all close as well. Jost is a party island from what I hear - they have good New Year's parties. I hear good things about some parts of St Croix too, which is in the USVI.
I flew from St Thomas to San Juan. There is a ferry, which is slightly cheaper, but it only goes once a month I believe. You can book flights pretty last minute. The main two airlines are Seaborne and Cape Air. You can book online or by phone. It's about $100 one-way. I took Seaborne and liked it because you don't have to go through the whole formal security process to get on board. So it's pretty quick and easy. It's a tiny 15-person plane. You can't bring anything on board, so put a camera in your pocket. I regret not doing that! The views are awesome. Oh, and fly when there is daylight.
In San Juan, there are no hostels and all places there are not cheap ($100+). It's same prices are in the US. But I did find one steal in San Juan based on some online research and reviews - Fortaleza Guesthouse in Old San Juan. I would recommend it if you want hostel-type accomodations. You can call to book. There, you get your own room ($35-50 depending on whether you want A/C) and there are shared bathrooms and a kitchen. And you may be able to bargain a little depending on how busy things are. I paid $30. All the ladies who run it are Puerto Rican and super sweet.
In San Juan, your options are to stay in Old San Juan where the pier is or by the beach in Condado or Isla Verde where all the resorts and chain hotels and condos are. The latter two are kind of like Cancun, except not as young (a lot of couples when I was there) and Old San Juan is adorable with cobblestone streets. If you want more of a Puerto Rican experience, I would definitely recommend to stay in Old San Juan. You can take a local bus to the beach in Condado for 75 cents (B53) which takes 10 mins or so.
Specific Puerto Rico/San Juan Tips:
- Old San Juan is adorable. Spend at least a day walking around it. Definitely go inside the Fort. I didn’t go inside the Castle on a friend’s recommendation, but definitely check it out from the outside at least. Recommended restaurants: The Parrot Club (also for nightlife at night), Aquaviva (for ceviche), Raices (good Puerto Rican food, including famous Mafongo), Mini Café (cheap Puerto Rican food where locals eat), Patio de Sam (also good Mafongo). Nightlife streets with bars are San Sebastian and Fortaleza. Bus to Condado is $0.75 (C53 or B21) from the main bus station right there. Buses don’t go late at night and in general come once every 30-45 mins.
- The beach area in front of the Renaissance is good in Condado
- Ajili Mojili restaurant in Condado is a good place to go for a traditional upscale Puerto Rican meal.
- The Water Club in Isla Verde (10 mins from Condado) – the next beach over – good rooftop views, rooftop sushi bar and lounge (upscale nightlife). I didn’t like the Isla Verde beach area personally. It's a bunch of ugly condos.
- Must-see trips outside of San Juan (all within an hour away or so): Yunque Rainforest, Luquillo Beach, Nighttime kayaking at bioluminescent bay in Fajardo. You either have to rent a car to go to these (makes sense if there are at least 2 of you) or go with a tour company. I was alone, so I booked a tour and did all 3 in one day. It worked out well for me since they just mostly drive you to these places and you're not constantly in a tour group or anything. I also bargained down the price (call them directly to do this) because it was still low season in November.
- If you surf, I hear the west side of Puerto Rico is a good place for that. Rincan area I believe.
Hope this helps!