Cook pasta shells according to the package directions. Drain and set aside.
Melt butter in a large, deep skillet over medium high heat. As soon as butter melts, add chopped onion and cook until translucent. Add garlic and cook until fragrant, about a minute. Whisk in flour. Continue whisking until flour is completely mixed in with butter. Cook for about a minute to get rid of the raw flour taste.
Slowly add half and half, a little at a time, stirring constantly so lumps do not form. Simmer for about 3-5 minutes until mixture thickens slightly.
While sauce is simmering, combine panko breadcrumbs, melted butter, salt, pepper and chopped parsley in a small bowl with a fork until combined and set aside.
Add salt, pepper, garlic powder, onion powder, nutmeg and cayenne to sauce and stir to incorporate.
Stir in the cheeses, reserving some for topping. Stir until cheese is melted and sauce is smooth. Add additional salt and pepper to taste.
Add the cooked pasta to the pot and stir to evenly incorporate.
Transfer the pasta mixture into a buttered 9x13 baking dish; top with remaining cheese and panko breadcrumb topping.
Bake at 375 Degrees F° for 20-25 minutes or until golden and bubbly.