In a medium bowl combine the warm milk, sugar, and yeast. Mix and let stand for 5 minutes to activate the yeast.
After 5 minutes add in the salt, egg, and butter. Mix well to combine.
Slowly add in the flour and mix well.
Sprinkle a surface with flour and turn the dough out. Knead for 4-5 minutes. Form into a ball, return it to the mixing bowl, and cover with a towel.
Sit in a warm place for 1-2 hours or until the dough has doubled in size.
Once the dough has doubled, turn it out onto a floured surface. Using a rolling pin roll it into a large rectangular shape.
Mix together the cinnamon, sugar, and salt then set aside.
Spread the softened butter onto the dough covering it to the edges. Sprinkle the buttered dough with the cinnamon and sugar mixture.
Starting at the narrow end roll up the dough tightly.
Slice into 6 pieces and place in a dish sprayed with cooking spray. Cover with a towel and allow the rolls to rise for 1-2 hours.
Preheat the oven to 400 degrees. Bake the rolls for 25-30 minutes or until the cinnamon rolls are golden brown and cooked all the way through.
Remove from the oven and spoon any filling that came out over top of the cinnamon rolls.
To make the frosting beat the cream cheese, powdered sugar, and vanilla together until it comes together as a thick frosting.
Top the warm cinnamon rolls with the frosting and serve.