Make the cheese sauce: Melt the butter in a medium saucepan over medium heat. Whisk in the flour until smooth; cook, whisking, 1 minute. Gradually whisk in the milk and cayenne until smooth. Bring to a boil and cook, whisking occasionally, until slightly thickened, about 2 minutes. Remove from the heat and whisk in the cheddar, mozzarella and parmesan until melted. Add 1/2 teaspoon salt and a few grinds of black pepper; let cool to room temperature, about 1 hour.
Make the filling: Melt the butter in a skillet over medium heat; add the onion and cook, stirring occasionally, until soft, about 6 minutes. Add the spinach, artichoke hearts, Worcestershire sauce and 1/2 teaspoon salt and cook, stirring occasionally, until the vegetables are tender, about 5 minutes. Transfer to a bowl and let cool, 30 minutes. Season with salt and pepper, then stir in the parmesan, egg and 3/4 cup of the cooled cheese sauce.
Prepare the rollatini: Preheat the oven to 350 degrees F. Bring a large pot of salted water to a boil and stir in the olive oil. Add the noodles and cook, stirring often, until pliable but not fully cooked, about 8 minutes. Drain and rinse under cold water to cool, then lay on a work surface.
Evenly spread 2 1/2 cups of the cheese sauce in the bottom of a 9-by-13-inch baking dish. Spoon 2 tablespoons of the spinach filling at one end of each noodle. Roll the noodles around the filling and place seam-side down in the baking dish. Top with the remaining sauce and sprinkle with the mozzarella and parmesan.
Cover the dish with foil; bake until bubbly, about 35 minutes. Turn on the broiler. Uncover and broil until browned in spots, 2 to 4 minutes. Let stand 10 minutes before serving.