In the bowl of a stand mixer fitted with the dough hook attachment, combine the warmed milk, sugar and yeast. Allow to stand for 5 minutes until foamy.
Add the flour, salt and egg to the yeast mixture then mix on low speed until the dough starts coming together.
Add the softened butter, one tablespoon at a time, allowing the butter to knead into the dough before adding the next spoonful.
The dough will be soft and tacky but if it's too wet, add a few tablespoons of flour at a time until it forms a soft dough.
Cover with plastic wrap and place in the fridge overnight (you could allow it to rise at room temperature for 2 hours if you'd prefer to make it on the same day, but the flavor won't be as good).
On the day of baking, remove the dough from the fridge and allow to come to room temperature for 1 hour.
Transfer the dough to a lightly floured work surface and roll out into a rectangle approximately ½cm thick.
Combine softened butter with minced garlic and grated Parmesan then spread onto the dough. Roll up the dough then slice into 12 equal pieces.
Transfer the buns to a baking dish, placing them seam side down. I used a round cake pan but a loaf pan, casserole dish, etc. will all work.
Cover the buns and allow to proof for 30 minutes while you preheat the oven to 180°C/350°F.
Brush the buns with egg wash.
Transfer the buns to the oven and bake for 20-35 minutes until golden brown, risen and cooked through.
Remove from the oven and immediately brush with melted butter.
Allow to cool on a wire rack for 10 minutes then serve.