Wake the yeast. If using instant yeast, you can skip this pause. If using active dry yeast, sprinkle it over the warm milk with a pinch of the sugar and let it sit for 5 to 10 minutes until foamy on top. A little patience here pays off.
Make the dough. In a large bowl (or stand mixer bowl), combine warm milk, sugar, softened butter, egg, and salt. Add 3 cups (360 g) of flour and mix until a shaggy dough forms. If using a mixer, use the dough hook on low. If mixing by hand, use a sturdy spoon, then switch to your hands.
Knead. Knead until smooth and slightly springy, about 8 to 10 minutes by hand or 6 to 7 minutes in a mixer. Add the remaining flour a tablespoon at a time if the dough is very sticky. It should be soft and a little tacky, like a post-it note, not like glue.
First rise. Shape the dough into a ball and place it in a lightly greased bowl. Cover and let it rise in a warm spot until doubled, 60 to 90 minutes. The dough should look puffed and relaxed. If your kitchen is chilly, give it a bit more time. No rush.
Prepare the filling. Stir together the brown sugar, cinnamon, flour, and a pinch of salt. Keep the melted butter nearby. Grease the loaf pan and line it with a parchment sling if you like easy removal later.
Roll the dough. Gently deflate the dough and roll it into a rectangle about 9 x 18 inches. If it fights back, let it rest for 5 minutes, then try again. Little breaks make stretching easier.
Fill and roll. Brush the surface with the melted butter, leaving a 1/2 inch border along one short edge. Sprinkle the cinnamon sugar mixture evenly over the buttered area. Starting from the short edge opposite the border, roll the dough up snugly. Think “firm but not squishing it.” Pinch the seam to seal and tuck the ends under.
Second rise. Place the log seam side down in the prepared pan. Cover and let it rise until the dough crowns about 1 inch over the rim, 45 to 75 minutes depending on room temperature. Near the end of this rise, preheat your oven to 350°F (175°C).
Top and bake. Brush the loaf lightly with egg wash if you’d like a glossy finish. Bake for 35 to 40 minutes until deep golden brown. If the top is browning too fast at the 25 minute mark, tent loosely with foil. The bread is done when the internal temperature hits about 190°F or when it sounds hollow when tapped on the bottom.
Cool. Let the bread cool in the pan for 10 minutes, then lift it onto a rack. Brush the top with a little melted butter if you like a soft crust. Cool at least 1 hour before slicing. Hardest step, I know. But it keeps the swirl neat and the crumb tender.
Serve and store. Slice and serve as is, or toast with butter. It keeps well covered at room temperature for up to 3 days. For longer storage, slice, wrap tightly, and freeze for up to 2 months. Toast straight from frozen for a quick breakfast.