The closest hotels are going to be
Hotel Murano and the
Courtyard by Marriott. Both good choices. Both in safe neighborhoods, only about a 2 minute drive to St. Joes.
Silver Cloud Inn is another good choice on the Ruston Way waterfront, but it is outside of Downtown so you can add a few more minutes to the drive.
For more a more affordable hotel in Downtown there is the
Best Western Tacoma Dome Hotel.
If you are from Oregon, B.C. or Washington take a look at the specials at Hotel Murano. Their Staycation package makes the hotel pretty affordable.