In a large bowl, beat together the softened butter, sugar, and salt until the mixture looks pale and creamy.
Add the egg and whisk until it blends into the butter mixture, stopping once to scrape down the sides so everything is well combined.
Pour in the warm milk, sprinkle in the yeast, and add the flour, then mix until the dough starts to come together.
Knead the dough for about 15–20 minutes, either by hand or with a mixer, until it becomes smooth, soft, and stretchy.
Transfer the dough to a lightly greased bowl, cover, and let it rise for 1 to 1.5 hours, or until it has doubled in size.
Once risen, punch down the dough, place it on a floured surface, and roll it into a large rectangle.
Spread softened butter over the surface, then sprinkle an even layer of cinnamon sugar (or spread a cinnamon-sugar paste) on top, leaving a small border around the edges.
Starting from the long side, roll the dough into a tight log, then pinch the seam to seal it securely.
Slice the log into equal pieces using a sharp knife or floss and arrange them in a greased baking dish with some space between each roll.
Cover the rolls and let them rise again for 45–60 minutes, until they look puffy and are touching each other.
Bake the rolls in a preheated oven at 170°C (340°F) for 20–25 minutes, until they are lightly golden on top but still soft in the center.
Make the cream cheese glaze: Whip the softened cream cheese and butter until smooth, then add the icing sugar and vanilla and mix until fully combined.
Allow the rolls to cool for about 10 minutes, then spread your favorite frosting over the warm rolls before serving.