Spread asparagus in a single layer in casserole dish. Spread olive oil over asparagus and sprinkle with a pinch of salt and pepper.
In a small saucepan, melt butter over medium heat. Once melted, add flour and whisk until well combined. Let cook for 1 minute. Add milk and whisk well. Continue to cook and stir over medium heat until mixture is thickened, about 5-6 minutes. Add remaining salt, pepper, and garlic powder.
Remove from heat and add half the swiss cheese. Whisk until melted. Pour mixture over the middle of the asparagus. Sprinkle breadcrumbs, remaining swiss cheese, and parmesan cheese over the asparagus. Bake for 15-20 minutes or until cheese is bubbling and brown. Remove from oven and garnish with lemon zest.
Make sure and use thin asparagus. If you can only find thicker spears, go ahead and peel off some of the bottoms. This makes them easier to eat as well. No matter what size, ensure they are all about the same thickness so they cook evenly.