If shopping is going to be a major activity for you, then consider flying into Rome (2-3 nights), then onto Florence (3 nights), Venice (2 nights) and fly back from Milan (2 nights).
Fly into Rome and out of Milan - why? Two reasons: 1) cheaper tickets when Rome and/or Milan are end points, 2) shopping = more luggage to lug. Tip: Price out the cost of a second suitcase as part of your flights price comparison.
Do not add another city than these four for sleeps - it would neither be time nor effort smart. Remember that for each FULL day of fun stuff to do, you need two nights to squeeze it all between! Packing and getting to the next city chews at least a half day for each move.
Book fast trains for Rome to Florence (1 hr 30 min), Florence to Venice (2 hrs), Venice to Milan (2 hrs 30 min). Depending on your ability to get going in the mornings, I find that trains that leave around 10ish (for morning) or 5ish (late afternoon) work well for me. Hotels can keep your bags for early arrivals or late departures.
I suggested 3 nights for Florence for two reasons: 1) Shopping in Florence is excellent - the best IMO! (For leather: just know your stuff... quality, price, Chinese knock-offs, etc.), 2) You can easily do a full-day excursion from Florence - just look at the day trips listed on Viator.com to get ideas (some of these you could even do on your own, using local transportation).
Have fun!