In a medium bowl, mix together the Ricotta, 1 cup shredded Mozzarella, 1/2 cup grated Parmesan, basil and Italian seasoning. Stir until well combined.
In a small bowl, combine remaining 1/2 cup Mozzarella, 2 TBLS grated Parmesan and 1/2 cup shredded Parmesan. Set aside.
Butter one side of each slice of sourdough. Working buttered side down, set each bread slice on it's own piece of wax paper that is just about double the size of your bread. This will make it easier to flip and to clean up later! Spread 1 - 2 TBLS marinara sauce over three of the slices of bread. Divide the ricotta cheese/Italian seasoning mixture equally across the three slices of bread with the marinara. Layer pepperoni slices over the cheese and add any additional toppings you wish. Place remaining three pieces of bread on top of the pepperoni - buttered side out. Take the shredded mozzarella/parmesan mixture and sprinkle over the top of each slice of the buttered bread. (Note: you're only doing the top half of the sandwiches right now! We'll get to the bottoms in a minute.) Press the cheese gently into the butter so it sticks.
Spray a flat pan or large skillet with non-stick cooking spray and place it over medium flame. Use the wax paper to help you grab the sandwich and carefully flip it over on to your skillet with the butter/cheese side down. Working quickly, add a bit more butter to the side of the sandwich that is facing up, and add the remaining cheese mixture to the outside. Again, pressing carefully to get the cheese to stick to the butter. Some of the cheese will fall off and that's ok! Just watch the cheese carefully so it doesn't begin to burn before your sandwich is done cooking. Cook the sandwiches for about 3 minutes per side, or until they are a light golden brown. Cut the sandwiches in half and serve with remaining marinara sauce for dipping!