Preheat oven to 350°F (175°C). Grease a 9x5-inch loaf pan and line with parchment paper, leaving overhang on the sides.
In a medium bowl, whisk together flour, brown sugar, cinnamon, and salt. Cut in cold butter with a pastry cutter until mixture forms coarse crumbs. Refrigerate while preparing the batter.
In a small bowl, combine granulated sugar and cinnamon. Set aside, reserving 2 tablespoons for later.
In a large bowl, whisk together flour, sugar, baking soda, and salt. Make a well in the center.
In a separate bowl, whisk together sour cream, milk, oil, eggs, and vanilla until smooth and well combined.
Pour wet ingredients into the well of dry ingredients. Gently fold together just until combined, being careful not to overmix.
Pour half the batter into prepared pan. Sprinkle most of the cinnamon sugar over batter, then add remaining batter. Top with reserved 2 tablespoons cinnamon sugar.
Insert a butter knife into the batter and drag through in a zigzag pattern 5-6 times to create swirls. Don't overmix.
Remove streusel from refrigerator and sprinkle evenly over the top, pressing down lightly to adhere.
Bake for 55-65 minutes until golden brown and a toothpick inserted in center comes out clean. Tent with foil after 40 minutes if browning too quickly.
Cool in pan for 15-20 minutes, then transfer to a wire rack to cool completely before glazing, about 1 hour.
Whisk together powdered sugar, milk, and vanilla until smooth. Drizzle over cooled bread and let set for 10 minutes before slicing.