Preheat the oven to 375°F. Coat a 9x13-inch baking dish with cooking spray.
Bring 3 quarts of water to a boil in a large pot over medium-high heat. Generously season with salt and add the pasta shells. Return to a boil. Boil, uncovered until tender, about 12 minutes. Drain well.
While the pasta is cooking, in a medium bowl, combine the ricotta, 2 cups mozzarella, ½ cup Parmesan, 2 tablespoons parsley, Italian seasoning, salt, pepper, and egg. Stir until well blended.
Spread 2 cups of marinara in the bottom of the prepared baking dish. Fill the shells with the ricotta mixture and place on top of the marinara in the baking dish. Spoon the remaining 1 cup marinara sauce over the shells. Sprinkle with the remaining 1 cup mozzarella and ¼ cup Parmesan. Loosely cover with foil.
Bake for 20 minutes. Uncover, and bake for an additional 15 minutes or until the begins to brown. Garnish with the remaining 2 tablespoons of parsley before serving.
If you do not have ricotta cheese, you can substitute it with whipped cottage cheese. If using regular cottage cheese, strain off the excess liquid to avoid a watery filling.
Careful not to overcook the pasta shells as they will continue to cook when they go into the oven.
I recommend boiling the entire box of pasta shells; even though we only need 24 shells, some may break as they cook, so boiling extra ensures you have 24 shells intact.
If you have difficulties scooping the filling into the pasta shells, you can pipe the filling with a piping bag instead.
If you want to use another cheese or add more cheese, you can try using provolone, fontina, asiago, or romano cheese.
If you want to add some meat to the stuffed shells, try adding cooked ground beef, Italian sausage, or ground turkey.
Sauteed spinach makes for a great addition to the cheese mixture.
Do not skip salting the water. Doing so helps season the pasta.