In a small bowl, dissolve yeast in warm milk and let stand for 5 minutes until foamy.
In a large mixing bowl, combine flour, sugar, and salt. Add the yeast mixture, melted butter, and egg. Mix until a soft dough forms.
Turn dough onto a floured surface and knead for 8-10 minutes until smooth and elastic. Place in a greased bowl, cover, and let rise for 1 hour until doubled.
For the filling, mix softened butter, brown sugar, cinnamon, and salt in a bowl until well combined.
Punch down risen dough and roll into an 18x12 inch rectangle on a floured surface.
Spread filling evenly over dough, leaving a ½-inch border on one long side. Starting from the opposite long side, tightly roll up the dough.
Using a sharp knife or dental floss, cut 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. Preheat oven to 350°F.
Bake for 22-25 minutes until golden brown on top.
For glaze, beat cream cheese and butter until fluffy. Gradually add powdered sugar, milk, and vanilla until smooth.
Drizzle warm rolls generously with glaze and serve immediately.
Notes
Storage: Keep covered at room temperature for 3 days or refrigerate for up to 1 week. Can be made ahead and refrigerated overnight before the second rise. Freeze unbaked rolls for up to 3 months.