In a mixing bowl, combine 1 ½ cups flour and yeast. Set aside.
In a saucepan, heat the milk, ⅓ cup butter, sugar, and salt until 120 degrees F. Remove from heat and stir until the butter is melted. Add to the flour and yeast.
Mix on low, using a regular paddle, adding the egg.
Change the mixer attachment to the dough hook. Beat the dough at low, adding the remaining flour a little at a time. Increase speed to medium until a soft dough forms, approximately 3 minutes.
Transfer the dough to a lightly greased bowl, turning once to coat both sides. Cover with a clean dish towel.
Allow the dough to rise in a warm place until doubled, about 1 ½ hours.
Punch the dough down and turn out onto a floured surface. Cover and allow to rest for 5 to 10 minutes.
Combine the filling ingredients.
Roll the dough into a rectangle, approximately 20 inches by 10 inches. Gently spread with HALF of the filling mixture, leaving a 1-inch space on one long edge without filling.
Starting on the long side, roll the dough up, working it tightly but without pulling the dough too much. Seal the long edge by pinching it shut.
Cut the dough into 12 even slices by cutting the dough in half, cutting those halves in half and then the quarters into three slices each.
Prepare a 9x13 casserole dish with nonstick cooking spray.
Place remaining filling in the bottom of the casserole dish. Then, put each roll in the dish allowing about one inch between them. Cover and allow to rise in a warm place about 40 minutes or until doubled.
TIP: Before allowing the final rise, rolls may be tightly covered and placed in the refrigerator for up to 24 hours. Remove from the refrigerator and allow to rise before baking.
Bake at 350 degrees for 25 to 30 minutes.
While the rolls bake, combine the cream cheese, butter, and vanilla, stirring until well blended.Then, add the milk a little at a time until reaching the desired consistency.
Remove rolls from the oven and spread with icing.