Warm the milk and prep the yeast. In a large bowl, whisk warm milk, sugar, and yeast.
Let it sit for 5 minutes until slightly foamy. If it doesn’t foam, your yeast may be expired or the milk too hot or cold.
Make the dough. Add egg, melted butter, vanilla, and salt to the yeast mixture. Stir in 2 1/2 cups of flour.
Mix until a shaggy dough forms, then add the remaining flour as needed until the dough is soft, slightly tacky, and pulls away from the bowl.
Knead until smooth. Knead by hand on a lightly floured surface for 6–8 minutes (or in a mixer for 5–6 minutes) until the dough is elastic and smooth. It should feel soft, not stiff.
First rise. Form the dough into a ball and place in a lightly greased bowl. Cover with a towel and let rise in a warm spot until doubled, about 60–90 minutes.
Make the orange sugar. In a small bowl, rub the orange zest into the sugar with your fingertips until the sugar is fragrant and evenly tinted.
Stir in cinnamon if using.
Roll out the dough. Punch down the dough and roll it into a 12x16-inch rectangle. Spread the softened butter evenly over the surface, right to the edges.
Add the filling. Sprinkle the orange sugar evenly over the buttered dough, leaving a 1/2-inch border on one long side to help seal.
Roll and cut. Starting from the long sugared side, roll the dough into a tight log. Pinch the seam to seal.
Trim the ends, then cut into 12 even pieces using a sharp knife or dental floss for clean spirals.
Pan and second rise. Arrange rolls in a greased 9x13-inch pan with a little space between them. Cover and let rise until puffy, 30–45 minutes. They should look marshmallowy and almost touching.
Preheat and bake. Preheat the oven to 350°F (175°C).
Bake for 20–24 minutes, until the tops are lightly golden and the centers read about 190°F (88°C). Don’t overbake—slightly underdone is better than dry.
Mix the glaze. Whisk powdered sugar, orange zest, and 2 tbsp orange juice. Add more juice or a splash of cream to reach a thick, pourable consistency.
Season with a tiny pinch of salt to balance the sweetness.
Glaze while warm. Let the rolls cool for 10 minutes, then pour the glaze over the warm rolls so it sinks in. Serve warm and enjoy the soft, citrusy goodness.