01 - Preheat oven to 375°F. Grease a 9x13-inch baking dish with butter or nonstick spray.
02 - If using regular lasagna noodles, cook them according to package directions until al dente. Drain and set aside. Skip this step if using no-boil noodles.
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 and stirring until the sauce thickens, about 5 minutes.
05 - Stir in the 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 to prevent sticking.
07 - Lay down a single 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 evenly over the layer.
08 - Add another layer of noodles, the remaining chicken, the remaining ham, another third of the Swiss cheese, and more béchamel sauce spread evenly.
09 - Finish with a last layer of noodles. Pour the remaining béchamel sauce over the top, then sprinkle evenly with the mozzarella and Parmesan cheeses.
10 - Cover the dish tightly with aluminum foil and bake for 30 minutes to allow 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 top is golden brown and the edges are bubbly.
12 - Remove from the oven and let rest for 10 minutes before slicing to allow the layers to set. Garnish with fresh chopped parsley if desired and serve warm.