Make the streusel topping by mixing together the cold butter, flour, brown sugar, white sugar, and cinnamon until it resembles coarse crumbs. Refrigerate while preparing the rest.
In a medium bowl, whisk together the flour, baking soda, baking powder, and salt.
In a large bowl, cream together the butter, brown sugar, and white sugar until light and fluffy. Beat in the eggs one at a time, then stir in the vanilla. Add half the dry ingredients and half the sour cream, mixing just until incorporated. Repeat with the remaining dry ingredients and sour cream.
Grease a loaf pan and line with parchment paper. Pour half the batter into the pan, then sprinkle with half the streusel topping. Top with the remaining batter and streusel.
Bake at 350°F for 50-60 minutes, until a toothpick inserted in the center comes out clean.
