Combine the warm milk, instant yeast, sugar, egg, and softened butter in a large bowl. Add the flour and salt, then mix until a shaggy dough forms. If using active dry yeast instead, first stir it into the warm milk with a pinch of sugar and let it stand for 5 to 10 minutes until foamy.
Knead by hand for 7 to 8 minutes, or with a dough hook for about 5 minutes, until the dough is smooth and slightly tacky. Place in a lightly greased bowl, cover, and let rise in a warm spot until doubled, about 45 to 60 minutes.
On a lightly floured surface, roll the dough into a rectangle about 16 by 12 inches. Spread with the filling butter. Mix the brown sugar and cinnamon, then sprinkle it evenly over the butter. Starting at a long edge, roll the dough into a log and cut into 12 even rolls.
Arrange the rolls in a greased 9-by-13-inch baking dish. Cover and let rise until puffy, about 30 to 40 minutes. Heat the oven to 350°F (175°C) and bake for 20 to 24 minutes, until lightly golden and the centers are set.
Beat the cream cheese and butter until smooth. Add the powdered sugar and vanilla, then beat in 1 tablespoon milk; add more a little at a time until spreadable. Spread over the warm rolls and serve.
Serve warm while the icing is soft.