$$$ is somewhat a consideration, but not as much as convenience, security for getting back to the ship on time, and not being part of a large group (train,bus,cruiseline groups).
Welcome to cruise-chat.com! We're doing a similiar itinerary as you, and share most of your criteria. What I'm about to suggest is pricey, yet have you considered one of the private car tours offered through the cruise line? Obviously, not for all three ports of call, but perhaps just one that is a distance from the port city. A private tour outside the cruise line isn't guaranteed to get you back to the ship on time, although the ones I've checked have good records.(Actually, neither is a cruise line tour, but it's a rare circumstance and at least they know where you are.) Just a thought -- albeit an expensive one.