Train is SUPER easy in Italy. We traveled first class and loved it. It's so relaxing.
I'd probably spend 2-3 days in Milan. Be sure to book your tickets for the Last Supper well in advance (the day the ticket window opens). It is exquisite. Your wife will likely want at least a half day for some shopping (the shopping in Milan -- it's AMAZING). Visit Chocolat for the BEST gelato. Go more than once. You'll walk off the calories
You can walk almost everywhere in Milan.
I could spend an entire week in Florence. Suggestion: take a day trip to Siena and the Tuscan countryside (we hired a private driver). It's one of my all-time favorite cities. Go to the Scuola del Cuoio. You can watch them making purses by hand. Lovely leather shop on site with handmade merchandise.
Venice, I'd probably stay 3-4 days. It is so much fun just walking around and exploring. We also hired a private guide for a day to show us the famous sites. We went to a mask shop where dd and I each made our masks -- still one of my favorite souvenirs. We were the only ones making them and the instructor didn't speak a lick of English, but we didn't have an issue understanding her. I booked online.
Naples -- I've heard it's much nicer to stay in Capri. However we just visited here 1 day with our ABD cruise so I don't have much to offer.
Rome - 2-3 days was fine for us but we had been before. Very walkable city. Visit Pizzarium -- Best. Pizza. Ever. It's not expensive and very casual. Also try their rice balls. Take several back to your hotel with you. If you like art visit Gallereria Borghese -- it has a lovely collection.
I'd likely do a food tour in at least 2 of the cities on your itinerary, because I love food tours and I also happen to love food (especially in Italy). It's a perfect marriage!
I used an app for restaurant recommendations called Eat Italy (or something like that). Done by an American living in Italy. The recommendations were spot on. I think there was a small charge for each city I loaded from the app store, but well worth it.
Have fun!