In a large bowl, whisk together warm milk, sugar, and yeast. Let stand for 5 minutes until foamy.
Add melted butter, eggs, 2 cups of flour, and salt to the yeast mixture. Beat until dough starts to form.
Add the rest of the flour and beat until a soft, slightly sticky dough forms.
Turn the dough onto a floured surface and knead for about 5 minutes until it's smooth and elastic.
Place the dough in a greased bowl, cover with a towel, and let rise in a warm spot for 1-2 hours, or until doubled in size.
Make the filling:
In a small bowl, combine brown sugar and cinnamon.
Assemble the rolls:
Punch down the risen dough and roll into a large rectangle (about 12x18 inches).
Spread the softened butter over the dough, leaving a small border.
Sprinkle the cinnamon sugar mixture evenly over the butter.
Starting from the long side, roll the dough into a tight log.
Cut the log into 12 even rolls. Place them cut-side down in the greased baking pan.
Cover with a towel and let rise for 30 minutes, or until puffy.
Bake and frost:
Preheat oven to 375°F (190°C).
Bake rolls for 20-25 minutes, or until golden brown. Let them cool for about 10 minutes in the pan.
While the rolls cool, make the frosting: beat together cream cheese, butter, and vanilla until fluffy. Gradually add powdered sugar, beating until smooth. Add milk 1 tablespoon at a time to reach desired consistency.
Spread the frosting over the slightly cooled rolls.
Notes
To make it easier to cut the rolls without squishing them, use a piece of unflavored dental floss. Slide it under the roll and criss-cross over to cleanly slice.
For extra cinnamon flavor, sprinkle a little over the frosting.