Traveling by train with 2 teenagers. Are 3 weeks in July enough to see Switzerland, Bavaria and Amsterdam?
If properly planned, yes.
Fly into Zurich
3 weeks are more then enough. Spend 1 week in each of the 3 countries mentioned.
Zurich - Stay in Lucerne and Berner Oberland (Murren, Wengen or Lauterbrunnen)
Munich - optional to visit Nuremberg, Rothenburg, Neuschwanstein Castle, Salzburg
Amsterdam - (Stay in Haarlem) , optional to visit The Hague, Rotterdam, Delft and Leiden
Fly out of Amsterdam to go home
Three weeks should be nice for those three areas.
For Switzerland, love Lucerne and Interlakken.
For Bavaria, Munich, the Romantic Road from Wurzburg to Garmisch (don't miss Rothenburg on the Tauber), Oberamergau, Garmisch and Fussen. Also, Berchtesgaden and Salzburg, Austria.
For Amsterdam, be sure to visit the Anne Frank House, Rijksmuseum, take a canal cruise, day trip to the Zuiderzee and Dutch villages.