Pour yeast into warmed (110°) milk, let sit for 5-10 minutes until foamy.
Meanwhile cream together butter and sugar until fluffy. Beat in vanilla and egg yolks, until well blended.
Whisk together flour and salt.
Give the yeast mixture a quick stir and pour into egg mixture. Slowly start adding flour/salt mixture into yeast/egg mixture until dough starts to form. I reserve about 1/4 cup of the flour mix.
You want the dough to be soft.
Use some of the reserved flour and turn soft dough out onto floured board. Knead slightly and add flour if necessary. Place kneaded dough in a lightly oiled bowl and cover tightly with plastic wrap. Let rise for at least an hour until doubled in size.
While dough is rising you can make your fillings and streusel.
Melt together dark chocolate and oil. Set aside.
I like to make the milk chocolate filling in a food processor. Make sure your butter is very cold. Pulse milk chocolate and butter in processor until small pea-sized pieces. Put back in refrigerator until ready to use.
Using the same processor, pulse together brown sugar, flour, and cold butter. It should be very crumbly. Put in refrigerator until ready to use.
Putting it All Together
Cut a piece of parchment to a little bigger than 14"x18". Place it on cutting board and lightly flour it. Roll out your dough almost to the edges, in a rectangle.
Using a pastry brush, spread the melted dark chocolate all over the dough, edge to edge.
Then sprinkle the milk chocolate all over the dough. Try to get edge to edge here too.
Using the parchment paper as a guide, start rolling the dough on the long side. Press as you go to keep the roll tight.
pinch the ends closed and wrap in parchment. Place in refrigerator for 5 minutes to firm up.
While dough is refrigerator line bottom of 2 loaf pans (9X5) with parchment paper, then spray whole pan with non-stick spray.
Take roll out of refrigerator and remove from paper. Cut in half.
Take each half and, making sure the seam side is down, cut the rolls in half length wise, leaving one end in tact. Essentially you are "opening" them.
With cut sides up, start twisting pieces over each other, keep the open side up. Tuck other end under and place in loaf pans. Cover loosely with plastic wrap and let rise another hour. You should have 2 twisted loaves.
Preheat oven to 350°.
Whisk together reserved egg white and 2 Tbs. milk.
Once dough has risen, brush tops with egg wash and gently press streusel topping into dough.
Bake for 20-25 minutes. Here's the trick, if it looks just slightly golden brown but not quite done, it's ok. It will continue to cook in pan and you DON'T want to overcook it or It will be dry.
Let cool in pan for 10 minutes then turn out onto rack. You can serve it warm or it is certainly good at room temperature.