In a small pot, melt the 1/4 cup butter and 1/2 cup whole milk. Whisk in the sugar and vanilla until the sugar dissolves. Remove from heat and sprinkle the yeast over the top. Allow that to sit for 5-6 minutes. The yeast should appear to foam some on the surface as the mixture cools.
In a large bowl, combine the flour and egg. Pour the milk-yeast mixture into the bowl and stir until a dough ball forms. On a floured surface, knead the dough for 2-3 minutes. Place back in the bowl and cover with a clean kitchen towel. Allow to rise in a warm spot for 1 hour.
Once the dough has risen, punch down and turn out onto a floured surface. Roll into a large rectangle. Smear the softened 1/4 cup butter all over the rectangle. Combine the sugar, brown sugar, and cinnamon then sprinkle over the butter. Roll up into a long cylinder. Cut in about 8-10 rolls (if you cut slightly more or less, that's OK too). Place in a buttered pie pan.
Cover and refrigerate overnight. This is also a good time to set out the cream cheese so it can soften overnight.
Remove the cinnamon rolls from the refrigerator 1 hour before baking.
Bake at 325°F for 30-32 minutes, until the outer rolls begin to turn a golden brown.
While the cinnamon rolls bake, make the frosting. In a stand mixer or with an electric mixer, beat the softened cream cheese with the milk, aiming to remove as many lumps as possible. Slowly beat in the powdered sugar.
Top the cinnamon rolls with the frosting and enjoy.