Preheat oven to 350°F (175°C) and grease a 9x9-inch baking pan.
In a medium bowl, combine flour, baking powder, baking soda, and salt. Set aside.
Cream butter and sugar until fluffy. Add eggs one at a time, then vanilla and sour cream.
Gradually mix in the dry ingredients until just combined. Avoid overmixing.
For the cinnamon-sugar swirl, mix sugar and cinnamon.
Pour half the batter into the pan. Sprinkle with cinnamon-sugar mixture.
Add the rest of the batter, spreading evenly.
For the streusel, mix flour, brown sugar, cinnamon, and butter. Sprinkle over the cake.
Bake for 40 minutes or until a toothpick comes out clean.
Let cool for 10 minutes, then slice and serve.