Preheat the Oven and Prepare the Pan: Preheat your oven to 350°F (175°C). Grease or spray a 9 x 13-inch baking pan with butter or nonstick spray.
Make the Streusel Topping: In a small bowl, mix together the flour, brown sugar, cinnamon, and salt. Use a fork to cut the softened butter into the mixture until it forms a crumbly, well-combined texture. Set this aside.
Prepare the Cinnamon Layer: In another small bowl, combine the sugar, flour, and cinnamon. Set this mixture aside as well.
Start the Batter: In the bowl of a stand mixer fitted with the paddle attachment, combine the flour, sugar, baking powder, baking soda, and kosher salt. Mix on low speed until evenly combined.
Add the softened butter and beat on medium-low speed for 2 to 3 minutes until the mixture resembles moist sand and the butter is fully incorporated.
Mix the Wet Ingredients and Finish the Batter: In a separate medium bowl, whisk together the sour cream, milk, eggs, and vanilla extract until smooth. Gradually add this wet mixture to the dry ingredients in the mixer. Beat on medium speed until you have a smooth batter; a few small lumps are fine.
Assemble the Cake: Spread half of the batter evenly into the prepared pan. Sprinkle the cinnamon-sugar mixture over the batter in an even layer. Carefully spread the remaining batter over the cinnamon layer — this step requires patience, as the batter tends to lift the cinnamon layer. Finally, evenly sprinkle the streusel topping over everything.
Bake the Cake: Bake for about 55 minutes, or until a toothpick inserted into the center comes out clean. Let the cake cool on a wire rack for about 1 hour, or until it reaches room temperature before serving.
Store the Cake: This cake can be made a day or two ahead. Once cooled, remove it from the pan and cover tightly with plastic wrap. Store at room temperature. To freeze, wrap the cake in plastic wrap and then in foil before freezing.