Preheat the oven to 350°F. Grease and flour a 9 1/2" tube pan
To make the cake: Beat together the butter, sugar, and eggs. In a separate bowl, mix together the flour, baking powder, baking soda, and salt.
Add the flour mixture to the butter mixture alternately with the sour cream, stirring after each addition.
To make the topping: In a medium bowl, mix together the brown sugar and cinnamon. Stir in the vanilla and nuts (if using). Set aside 3/4 cup of this mixture to use as the middle layer of the coffee cake.
To the remaining topping, add the flour and salt and stir until evenly combined. Add the melted butter to the flour mixture, stirring until everything is moistened. You will use this mixture to top the cake.
Spread half the batter in the pan, and sprinkle with the reserved topping mixture. Repeat with the remaining batter and topping.
Bake the coffee cake for 30 to 40 minutes, or until a toothpick inserted into the center comes out clean, or with just a few moist crumbs sticking to it.
Remove the cake from the oven; let cool 10 minutes, loosen the edges, and carefully turn it out of the pan. Place the cake right-side up (topping up) on a plate to serve.
Serve the cake warm or at room temperature.