In a large bowl, whisk together flour, instant yeast, granulated sugar, and salt. In a separate bowl, combine warm milk, melted butter, and egg.
Pour the wet ingredients into the dry ingredients and mix until a soft dough forms. Knead on a lightly floured surface for 5-8 minutes until smooth and elastic (or use a stand mixer with dough hook for 4-5 minutes).
Place dough in a greased bowl, cover with a damp towel, and let rise in a warm place for 1 hour or until doubled in size.
While dough rises, make the filling by mixing softened butter, brown sugar, cinnamon, and salt in a small bowl until combined.
Punch down risen dough and roll out on a floured surface into a 12x18-inch rectangle. Spread the filling evenly over the surface, leaving a 1-inch border on the far edge.
Starting from the long side closest to you, tightly roll the dough into a log. Pinch the seam to seal.
Using dental floss or a sharp knife, cut the log into 12 equal pieces. Place cut-side up in a greased 9x13-inch baking dish.
Cover and let rise for 30-45 minutes until puffy. Meanwhile, preheat oven to 375°F.
Bake for 22-25 minutes until golden brown on top. Don't overbake.
While rolls bake, make glaze by beating cream cheese and butter until fluffy. Gradually add powdered sugar, milk, and vanilla until smooth.
Let rolls cool for 5 minutes, then spread glaze over warm rolls. Serve immediately.
Notes
Make-ahead tip: Prepare through step 7, cover tightly, and refrigerate overnight. In the morning, let sit at room temperature 30 minutes, then bake as directed (may need extra 3-5 minutes). Rolls keep covered at room temperature for 4 days.