We've done private tours in every overseas port but 2 (our first cruise and we were being cautious.) That first time, we decided the private tours were better hands down and never looked back. I look at TripAdvisor and contact several companies, then go with the one that seems to communicate promptly, well, and is willing to tailor the tour for us if needed. We try to do at least one food tour on each trip, which is frequently one of our favorites. We usually travel as a large-fish family group and can get a fully private tour for significantly less cost than what the cruise line is offering. If you are a small group, you can also add on to one of the group tours that many companies offer, or you can try to organize one thru your roll call.
One thing to realize in Italy is there is a difference between a guide and a driver. Drivers will not go into locations with you, and may or may not have much interesting information for you along the way. If you want someone who will walk with you, impart knowledge, etc, make sure you get a guide.