Preheat oven to 350 degrees F.
Boil shells in salted water for 1 minute less than al dente, don’t overcook! Strain, and gently rinse with cool water until shells are completely cool. Meanwhile: Brown sausage and onion over medium heat in a large skillet. Add garlic and cook 30 more seconds. Pat off excess grease if you’d like. Remove 1 1/2 cups sausage/onions and add it to a 9x13 baking dish along with half of the marinara sauce. Stir to combine then spread into an even layer. Whisk the egg in a large bowl. Add all remaining Filling ingredients and stir until creamy. Add remaining sausage and stir until evenly combined.
Fill each shell with the filling and line on top of the sauce in the baking dish. The easiest way to do this is add the filling to a freezer size bag, snip the corner (about 3/4-inch cut) and pipe the filling into each shell. Arrange the shells as tightly as possible. I was able to fit about 28 shells, 7 rows of 4.
Pour remaining marinara sauce over shells, making sure they are covered so they don’t dry out. Top the marinara with 1 ½ cups mozzarella and 1/3 cup Parmesan cheese.
Cover and bake at 350 degrees F for 20 minutes. Remove the foil and bake an additional 10 minutes or until the cheese is completely melted. Broil if desired for a minute or two. Garnish with parsley if desired.