- Warm the butter and milk in a saucepan over medium low heat until butter is melted and reaches 120-130°F. 
- In the bowl of a stand mixer fitted with a dough hook, or in a large bowl if you plan to mix by hand, add 1 1/2 cups of the flour, sugar, salt, and yeast. 
- Add the warm butter mixture and egg and mix to make a wet dough. 
- With the mixer running, add remaining flour, 1/4 cup at a time, until dough mostly clears the bowl but still feels sticky. Knead the dough a few minutes more until smooth and elastic. 
- Cover with plastic wrap and let rise in a warm place until doubled, about 1 hour. 
- Gently punch down the dough to release gases and knead to bring back into a ball. Let sit for a few minutes while you get the filling ingredients ready. 
- On a lightly floured surface, roll out the dough into a rectangle roughly 12x17-inches. No need to be exact. 
- Spread melted butter evenly over the rolled dough. Sprinkle with brown sugar and ground cinnamon. 
- Starting with one long end, gently roll up dough into a log. Using a sharp knife or unscented floss, remove ends to make a clean edge and cut into 11 rolls. 
- Place on a sheet pan lined with parchment (see Notes) about 1 1/2 to 2 inches apart to make a tree shape: 1 roll on top row, 2 rolls in next row, 3 rolls in next row, 4 rolls in next row, and 1 roll for the trunk at the bottom. 
- Cover with plastic wrap and let rise in a warm place until doubled again, 20-30 minutes. Meanwhile, preheat oven to 350°F. 
- Bake until cinnamon rolls are golden brown, 22-25 minutes. 
- Make the frosting: In a bowl with an electric mixer, beat the butter, cream cheese, powdered sugar, and milk or eggnog until smooth and creamy. Add more milk or eggnog if needed to get a spreadable consistency. 
- Spread frosting over warm or cooled rolls. Sprinkle with holiday sprinkles if desired.