In a bowl, add in warm milk, sugar and yeast. Stir and let it stand for about 10 minutes to bloom.
In a mixing bowl with dough hook attachment and with a low speed, mix in flour and eggs until well combined. Add in the yeast mixture and increase the speed to a medium level and continue kneading the dough until the dough came together.
While mixing, gradually add in the butter and continue kneading until it does not stick to the sides of the bowl (about 7 minutes).
Place the dough into a greased bowl and cover it with a cling wrap and let it rest for 2 hours to proof.
To make the filling, in a bowl, mix together the cinnamon powder and brown sugar until well combined.
When the dough rests, take the dough out and roll it to a rectangular shape (18 inch x 16 inch).
Spread the softened butter over the dough and sprinkle the cinnamon sugar mixture evenly.
From the longer side of the dough, roll up the dough. Using a sharp knife, cut the dough into 2 pieces. Form a “X” using the dough and braid the pieces of dough together. Tuck the ends of the dough under to have a neat finish.
Place the dough into a 9x5 inch loaf pan lined with parchment paper and lightly cover it with a cling wrap to let it proof for another 1-2 hours until double in size.
Preheat the oven at 350F. Once the dough is done proofing, brush the top of the loaf with some egg wash and bake it for about 35-40 minutes or until golden brown.
Remove from the oven, and let it cool completely before slicing.