I did a similar trip (somewhat different itinerary, but same general circumstances and time frame) but I often spent a lot less than three to four days in one place - which was pretty exhausting by the end of three months. Knowing what I know now, three to four nights per place is probably a good minimum for getting a bit of a sense of a place, though many people prefer 5-7 if possible. You might want to consider dropping one or two stops from your list in order to buy yourself a little more time in some of the other places, if you can bring yourself to do so. I've only passed through Zurich personally, and I've never been to Milan, but from all I've read and picked up on these boards and other places, is that both are big bustling cities with not a heck of a lot to commend them - unless you have a particular interest in them, they might be good candidates to drop...
Or, if you're totally committed to seeing something of Milan, you could stay somewhere like Verona, which is roughly halfway between Milan and Venice, and daytrip to those two from there, while spending some of your time in a more appealing place than Milan, and a less expensive place than Venice!
Oh, and I wouldn't worry too much about this being the last time you'll have a chance to travel - once you've got the bug, it's pretty hard to squash!
You may only have a couple of weeks holiday, but you'll probably be able to manage a trip every year or two, so you can always plan to go back to places you missed or that you'd like to see more of.