01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish with butter or non-stick spray.
02 - If using regular lasagna noodles, cook them according to package directions until al dente. Drain and set aside. No-boil noodles can skip this step.
03 - In a medium saucepan over medium heat, melt the butter. Whisk in the flour and cook for 1 to 2 minutes to form a roux, stirring constantly to prevent browning.
04 - Gradually whisk in the whole milk, stirring constantly to avoid lumps. Continue cooking until the sauce thickens and coats the back of a spoon, about 5 minutes.
05 - Stir in Dijon mustard, garlic powder, onion powder, salt, and black pepper until well incorporated. Remove from heat and set aside.
06 - Spread a thin layer of béchamel sauce evenly across the bottom of the prepared baking dish. This prevents the noodles from sticking.
07 - Lay down a layer of noodles over the sauce. Top with half of the shredded chicken, half of the sliced ham, and one-third of the Swiss cheese. Spoon additional béchamel sauce over the fillings.
08 - Repeat the layering: noodles, remaining chicken, remaining ham, another third of the Swiss cheese, and more sauce spread evenly.
09 - Finish with a final layer of noodles. Pour the remaining béchamel sauce over the top and spread evenly. Sprinkle with mozzarella and Parmesan cheeses.
10 - Cover the dish tightly with aluminum foil and bake for 30 minutes. This allows the layers to heat through and the flavors to meld.
11 - Remove the foil and continue baking for an additional 15 to 20 minutes until the cheese is golden brown and the edges are bubbly.
12 - Remove from the oven and let the lasagna rest for 10 minutes before slicing. This helps the layers set for cleaner portions. Garnish with chopped fresh parsley if desired.