If you have UA miles and ORD-SJU/STT is not available, you can try using them on USAir's CLT-STT or PHL-STT flights. US is nothing special but at least you won't have to pay for the flights.
If cost weren't an issue, I would strongly recommend that you stay in St John. St John is far more beautiful (and interesting, IMHO) than St Thomas. The water is amazing, the snorkelling is fantastic and the food is stunning. The National Park itself is worth the additional cost of staying on the island. St Thomas is almost like a big city with row after row of shops compared to St John.
Also, depending on where the wedding is in St John, you may want to rent a car from St Thomas and drive it across using the car barge (Hertz won't let you do this but most of the other companies do - Avis comes to mind) instead of taking a taxi to Charlotte Amalie/Red Hook, ferrying across and taking taxis once you get there (only the Gallows Point resort is within walking distance of the St John ferry dock). The cost will add up quickly. Having a car will also be more flexible since the Marriott is located away from the downtown area. Parking in St John is usually not a problem. The car barge leaves from Red Hook and takes about 30min. Also, car rental in St John is 2x more expensive than St Thomas.
It's doable to go back and forth on the ferries (passenger or car) since they are very frequent but if you can, consider staying in St John. You won't regret it!