1. In a large bowl or the bowl of a stand mixer, combine warm milk, granulated sugar, and yeast. Stir and let it sit for 5 minutes until foamy.
2. Add the egg, melted butter, and all-purpose flour to the mixture.
3. Using the dough hook attachment, knead the dough on medium speed for 5-7 minutes until it is smooth and elastic.
4. Place the dough in a lightly oiled bowl, cover it with plastic wrap, and let it rise in a warm place for about 1-1.5 hours, or until doubled in size.
5. Once risen, punch down the dough and transfer it to a lightly floured surface.
6. Roll the dough out into a large rectangle, about 1/4 inch thick.
7. In a small bowl, mix together the softened butter, brown sugar, and cinnamon to make the filling.
8. Spread the cinnamon filling evenly over the surface of the dough, leaving a small border along one edge.
9. Starting from the long edge, tightly roll the dough up into a log.
10. Use a piece of thread or a sharp knife to cut the log into 6 equal-sized rolls.
11. Place the rolls cut-side up in a greased baking dish.
12. Cover the dish with a clean kitchen towel and let the rolls rise for another 30-45 minutes until they are puffy.
13. Preheat your oven to 375°F (190°C).
14. Bake the cinnamon rolls for 20-25 minutes, or until they are golden brown.
15. While the rolls are baking, prepare the glaze by whisking together the cream cheese, powdered sugar, and vanilla extract in a bowl until smooth.
16. Let the baked rolls cool for a few minutes before spreading the glaze generously over the top.
17. Serve the cinnamon rolls warm and enjoy.