I lived in France for five years and we vacationed several times in Deutschland, so I can give a little advice....
You can see ALL of Austria and Switzerland in about 3 days each, they are really small countries without a whole lot of cool stuff to see, unless you are going on a hiking vacation. Lots of places to hike, though.
You can do two weeks in Germany to see the entire country. Berlin is awesome - historical, great food, great nightlife. Frankfurt is a business town and I would avoid it if possible. Munich is awesome, great food and lots of stuff to see and do. If you are in to cars, the Porsche museum in Stuttgart is unbelievable. Germany is good as the vast majority of the populace speak some English and it is a pretty easy place to travel in. Make sure you have a paper copy of you hotel reservation, especially if you are out in the boonies.
We spent a lot more time in Italy and is a totally different deal. It is so long from north to south that your 3 - 4 weeks will get filled up. So, from north to south...
Turin - Nice place, go see the shroud.
Milan - avoid at all costs, just a big, ugly city
La Spezia is a lovely little seaside town with great seafood
Fiorenza (Florence) - spend about four days there and hit all the museums. Great food, great people, one of my favorite places I have ever visited.
Rome - well, ya gotta go there if you are there. Figure on 4 - 5 days to see all the sights, Keep your hand on your wallets. If a little boy comes running up and runs in to you and mama follows, she is pickpocket, so be prepared.
Naples was not too bad, and the food was awesome. It's a little grungy, but the archeology museum had a huge chunk of the figures and other stuff from Pompei. Actually, if you are there, you MUST go to Pompei, it is well preserved and simply jaw-dropping.
Bari is a nice seaside town with some good seafood, but a little out of the way on the east coast.
Va bene!