Preheat oven to 350°F (175°C). Grease the 9x13 pan well.
Cream butter and sugar until fluffy, about 3 minutes in your mixer.
Add the eggs one at a time, then vanilla.
Combine the flour, baking powder, baking soda, and salt in a different bowl.
Alternatively, add dry ingredients and sour cream into the batter—mix gently!
Make streusel: Rub cold butter into sugar, cinnamon, flour, and nuts until crumbly.
Spread half the batter in the pan, add half the streusel, then the rest of the batter, and top with the remaining streusel.
Bake 45 minutes until a toothpick comes out clean.
Optional glaze: Whisk sugar and milk, and drizzle on the cooled cake.