Grease a 9x5-inch loaf 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 25 minutes.
Turn the dough onto a floured surface, and roll into a 12x9-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.
Using a sharp knife, cut down the middle of the roll, leaving one end attached.
Twist the bread end over end and place in prepared pan, tucking ends under the loaf.
Cover the baking dish with the dish towel, and let the dough rise for about 20 minutes, or until the loaf is just reaching the top of the pan.
Meanwhile, preheat oven to 350 F.
Bake at 45-60 minutes, or until the bread is ready. If the loaf is browning too quickly, tent with aluminum foil.
Let cool in pan for 15 minutes.
Remove to wire rack to finish cooling.