In a medium bowl, whisk together all ingredients for the streusel until well combined and crumbly.
In a large bowl, add the softened butter and the sugar and beat with an electric mixer on medium speed for about 1-2 minutes.
Add the eggs and beat until well combined and fluffy, about 30 seconds. Add the sour cream and vanilla extract and beat again to combine.
Add the flour, baking powder, baking soda, salt, and beat until well combined, but don’t overmix. The batter will be quite thick.
Wring the excess water out of the grated apples with a tea towel or several paper towels, then fold the grated apples into the batter.
Spread about half of the batter into a greased 8-10” cast iron skillet. Sprinkle half of the streusel evenly over the batter. Spread the remaining batter over top, then sprinkle the remaining streusel.
Bake in the preheated oven for 30-40 minutes or until a toothpick inserted into the center comes out clean.
Let cool for about 20-30 minutes before slicing and serving.