I'll add my 2 cents for whatever it's worth. We usually fly through San Juan on the way down and always stay at least one night - but usually more. I figure if a delay is going to happen it's more likely to happen on the way down so I like having plenty of time built in to allow for that. Plus, you can take a flight out the next day to coordinate with the time your allowed to board your boat. And beyond that we really like Puerto Rico and find a couple days there is a great transition between our hectic normal life and vacation. It helps us get into island mode quicker rather than needing a day or two to acclimate once we get to the BVIs. Even for just one night we usually try to stay in one of the Isla Verde hotels unless it is literally a land-sleep-takeoff scenario. The airport hotel is fine for just a night, but we prefer to relax with a drink by the pool or beach and have a nice dinner out if time allows. This approach may not be for everyone, but it has made our trips down much more relaxing.

On the return there are plenty of EIS>SJU flights we can choose from to be sure we have enough time to connect to our flight back to the states. Although a couple hours is probably enough I usually aim for at least 3-4 hours assuming tickets are not connected. That said we usually get through everything within 90 minutes max, but you know the first time I only give us two hours we are going to run into long and slow lines.

BTW, you must be flying out of Pellston airport and not Traverse City? Seems that there are many more options and cheaper fares out of TVC. Just curious as I am a previous Michigander and spent some time up in northern Michigan.