Preheat oven to 400 degrees F.
Prepare the dough. Dissolve yeast and sugar in warm milk and let sit for 10 minutes or until mixture becomes creamy.
Combine flour with olive oil and salt in a large bowl. Add yeast mixture and mix until dough forms. Knead until smooth, about 5-7 minutes. Lightly oil a bowl and transfer the dough to the bowl, turning to coat. Cover with plastic wrap and let proof for 1 hour or until doubled in size.
Meanwhile, prepare filling. Combine ¼ cup grated parmesan with mozzarella, cream cheese, spinach, artichoke hearts, garlic powder, salt, and black pepper.
Dust clean work counter with flour. Punch down the dough and roll it into a ¼ inch thick rectangle. Spread the spinach artichoke filling in an even layer and roll the dough the long way into a log. Cut the log into 10 equal pieces.
Spray a 9x13 baking dish with cooking spray and sprinkle 2 tablespoons parmesan on the bottom. Arrange rolls in baking dish with cut sides facing up. Leave space in between the rolls allowing them to rise. Loosely cover and let proof for 30 minutes.
Sprinkle remaining 2 tablespoons parmesan on top of the rolls and bake for 18-20 minutes or until golden brown. Serve warm.