We've been on two Disney cruises that left out of San Juan. We flew in a day early for both and also stayed an extra day after the cruise as well. Many of the hotels in San Juan are close to the port but you will still need a taxi/ uber to get to and from the airport/ cruise port to the hotel. We found the AC Hotel San Juan our favorite. The hotel had a lot of great restaurants right outside, a rooftop pool, and beach access. It was also very affordable compared to a lot of the other hotels. We stayed at a Hyatt just outside of San Juan in Bayamon since our cruise was right during a festival that had a lot of hotels sold out or crazy expensive. It was affordable but took a while to get a cab and the ride was a little long, 20 minutes each way. We also stayed at Ciquala (which is not part of a chain) and that was a nice stay too. It was cheaper than some of the other hotels and was close to the cruise port.
Pretty much wherever you stay should be a quick taxi ride or uber.