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 lay flat on a sheet of parchment paper to prevent sticking. 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, stirring constantly to form a smooth roux.
04 - Gradually whisk in the whole milk, pouring slowly while stirring constantly to prevent lumps. Continue cooking until the sauce thickens, about 5 minutes.
05 - Stir in the Dijon mustard, garlic powder, onion powder, salt, and black pepper until evenly incorporated. Remove from heat and set aside.
06 - Spread a thin layer of béchamel sauce across the bottom of the prepared baking dish. Arrange a single layer of lasagna noodles over the sauce.
07 - Top the noodle layer with half of the shredded chicken and half of the sliced ham. Sprinkle one-third of the Swiss cheese over the meats, then spoon additional béchamel sauce evenly across the top.
08 - Add another layer of noodles, followed by the remaining chicken, remaining ham, another third of the Swiss cheese, and more béchamel sauce.
09 - Finish with a final layer of noodles. Spread the remaining béchamel sauce over the top, then sprinkle with the mozzarella cheese, remaining Swiss cheese, and grated Parmesan cheese.
10 - Cover the baking dish tightly with aluminum foil and bake for 30 minutes.
11 - Remove the foil and continue baking for an additional 15 to 20 minutes, until the top is golden brown and the edges are bubbling.
12 - Remove from the oven and let rest for 10 minutes before slicing to allow the layers to set. Garnish with chopped fresh parsley if desired and serve.