Preheat your oven to 350°F (175°C). This ensures that your cake bakes evenly.
In a medium bowl, combine 1/2 cup flour, 1/2 cup packed brown sugar, and 1/2 tablespoon cinnamon. Add in the cold, cubed butter and mix until the mixture resembles coarse crumbs. Stir in the chopped walnuts if using. Set aside.
In a large bowl, whisk together 2 1/4 cups all-purpose flour, 1 1/4 teaspoons baking powder, 1 1/4 teaspoons baking soda, 1 teaspoon salt, and 1 teaspoon cinnamon. This will ensure that your dry ingredients are well mixed.
In another bowl, using an electric mixer, cream together 1/2 cup softened butter and 1 1/2 cups sugar until light and fluffy. This should take about 3-4 minutes.
Add the 2 large eggs (at room temperature), 1 cup mashed bananas, and 1 tablespoon vanilla extract to the butter and sugar mixture. Beat until well combined.
Mix in 1 1/4 cups sour cream until the mixture is smooth and creamy.
Gradually add the dry ingredient mixture to the wet ingredients, mixing until just combined. Be careful not to overmix.
In a separate bowl, beat together 8 ounces softened cream cheese, 1/4 cup reserved batter, 1/4 cup sugar, and 1 teaspoon vanilla extract until smooth. Add the powdered sugar and milk, mixing until creamy.
Pour half of the banana batter into the prepared angel food cake pan. Next, add dollops of the cream cheese mixture over the batter. Swirl it in gently with a knife. Pour the remaining banana batter on top and finish with the streusel topping.
Bake in the preheated oven for 55-65 minutes, or until a toothpick inserted into the center comes out clean. Keep an eye on it toward the end of the baking time.
Once baked, remove the cake from the oven and let it cool in the pan for about 10 minutes. Then, transfer it to a cooling rack to cool completely.