Preheat oven to 350 degrees. Spray a 9x13 baking dish with nonstick spray and line with parchment, leaving the sides overhanging. Spray parchment.
In a large bowl, whisk to combine the eggs, milk, salt and pepper. Pour into the prepared dish and bake until eggs are set, about 20 minutes. Remove from oven and set aside.
In a medium bowl, stir to combine the cream cheese and sour cream until smooth. Fold in the parmesan cheese, spinach and artichokes and season with salt and pepper.
Use a serrated knife to cut the rolls in half horizontally, then place bottom half in a 9x13 baking dish. Top the bread with the spinach artichoke dip, then shredded mozzarella. Turn the eggs out of the pan on top of the cheese, then top with the ham. Place the top half of the bread over the ham and brush with melted butter.
Bake until the cheeses are melted and the tops are golden, about 20-25 minutes. Cut the bread into sandwiches and serve.