IAD is a United Hub so you should have several connections to Frankfurt or Munich (Lufthansa is a United partner). In any case there should be plenty of connections also through Amsterdam (KLM hub) or Paris CDG (Air France hub). Air France-KLM is a partner of Delta.
My recommendation is to try to fly to Milan Linate (LIN) instead of Milan Malpensa (MXP). Milan Linate is only 20 min taxi or bus ride to the Milan Centrale station where you can catch a train to Varenna. Linate is also small and easy to navigate. Malpensa airport is large and very far from the city (a 55 min train ride is required to reach the city).
LIN handles only intra Europe flights but has a ton of flights from Frankfurt, Munich, Paris CDG, Amsterdam, and I think also a few from Brussels. None from Zurich. Flights to Germany may be operated by Air Dolomiti (symbol EN), a regional airline part of the Lufthansa group.
In terms of layover preference I like Munich, Amsterdam, Frankfurt the best. They are all very easy to navigate. Frankfurt may require some long walks however, depending on gates used by your flights, since the Terminal used by United and Lufthansa is very long (shaped like the two blades in a pair of scissors). Paris CDG is humongous and requires the longest to make a connection (2 hours minimum).
I would prefer flying to Linate via any European hub over flying to Venice or Zurich, even if non stop. Flying to those cities will prolong your trip by several hours, especially Zurich.