Activate the Yeast: In a large bowl, combine warm milk, yeast, and sugar. Let sit for 5 minutes until frothy.
Make the Dough: Add salt, softened butter, and egg to the yeast mixture. Mix well. Gradually add the flour, one cup at a time, mixing until a soft dough forms. Knead for 5–7 minutes until the dough is smooth and elastic. Cover and let rise in a warm place for 1 hour or until doubled in size.
Prepare the Filling: In a small bowl, combine the melted butter, brown sugar, and cinnamon. Set aside.
Roll Out the Dough: On a lightly floured surface, roll the dough into a rectangle approximately 12x18 inches. Spread the cinnamon-sugar filling evenly over the dough.
Shape the Rolls: Roll the dough tightly into a log starting from the longer side. Cut the log into 12 equal pieces and place them in a greased 9x13-inch baking dish.
Second Rise: Cover the dish with a clean towel and let the rolls rise again for 30 minutes or until puffed.
Bake: Preheat the oven to 350°F (175°C). Bake the rolls for 20–25 minutes or until golden brown.
Prepare the Glaze: While the rolls are baking, beat the softened cream cheese and butter together until smooth. Gradually add the powdered sugar, vanilla extract, and milk, mixing until a thick but pourable glaze forms.
Glaze the Rolls: Spread the glaze over the warm cinnamon rolls straight out of the oven. Serve immediately for the best texture and flavor.