Grease a 9x13-inch baking pan; set aside.
In a small saucepan, stir milk, sugar, and butter together. Heat over low heat just until butter melts and sugar dissolves. Cool to about 100-105 F.
Pour the milk mixture into the bowl of a stand mixer.
Add the yeast and warm water.
Add 2 cups flour and salt to yeast mixture. Using a dough hook, mix on low speed for about 1 minute.
With the mixer still going, add remaining flour, 1/2 cup at a time. Mix about 1 ½ minutes, or until dough starts to clean the sides of the bowl.
Knead on low speed for about 2 more minutes, or until dough is smooth and elastic – the dough will still be slightly sticky to the touch.
Place dough in a greased bowl, turning it to grease the top. Cover the dough with a clean, dry dish towel.
Let it rise in a warm place, free from draft, for about 10 minutes.
Turn the dough onto a floured surface, and roll into a 12x16-inch rectangle.
Stir filling ingredients together, and spread over dough. Since the filling is a little crumbly, I gently press it into the dough to help it stick.
Roll up lengthwise, pinching seam to seal.
Cut into 12 pieces, and place in prepared baking dish. I use a serrated knife to cut the dough.
Cover the baking dish with the dish towel, and let the dough rise for about 15 minutes.
Meanwhile, preheat oven to 350 F.
Bake at 20-25 minutes, or until the rolls are golden brown.
While the rolls are baking, prepare the frosting.
Beat butter and cream cheese together until combined.
On low, mix in powdered sugar and vanilla until well-combined.
Let the cinnamon rolls cool for 5 minutes, and then spread frosting over warm cinnamon rolls.