Make the dough: In a large bowl, combine warm milk, yeast, and sugar. Let stand for 5 minutes, or until the yeast is foamy.
Add wet ingredients: Add egg, melted butter, and salt to the yeast mixture. Stir to combine.
Add dry ingredients: Gradually add flour, mixing until a dough forms. Turn the dough out onto a lightly floured surface and knead for 5-7 minutes, or until smooth and elastic.
First rise: Place the dough in a greased bowl, cover, and let rise in a warm place for about 1 hour, or until doubled in size.
Prepare filling: In a small bowl, combine brown sugar and cinnamon.
Roll and fill: On a lightly floured surface, roll out the dough into a rectangle about 12 inches by 9 inches. Spread softened butter over the dough. Sprinkle with brown sugar and cinnamon mixture.
Roll: Roll up the dough tightly.
Cut and rise: Cut the roll into 12 slices. Place the slices on a greased baking sheet lined with parchment paper. Cover and let rise for 30 minutes, or until doubled in size.
Bake: Preheat oven to 375°F (190°C). Bake the cinnamon rolls for 20-25 minutes, or until golden brown.
Make frosting: In a small bowl, whisk together powdered sugar, milk, and vanilla extract until smooth.
Frost: Let the cinnamon rolls cool slightly before frosting. Drizzle the frosting over the warm rolls.