Preheat oven to 350°F and generously butter a 7x11-inch dish or a 9x9-inch pan.
Cream butter and sugars together until light and fluffy on medium-low speed.
Add eggs one at a time until completely incorporated.
Add the vanilla extract and mix until combined.
In a separate bowl, mix flour, baking powder, baking soda and salt.
Add half of the flour mixture to the stand mixer and combine on low speed.
Add half of the sour cream, continuing to mix.
Add the remaining flour and sour cream until just combined. Take care not to over mix.
Pour batter into prepared baking dish or pan.
Crumble Topping:
In a medium bowl, mix sugar, cinnamon, flour, butter and salt with a fork or your fingers until incorporated and varying sized clumps form.
Pour mixture evenly over the cake batter.
Baking:
Bake 30 to 35 minutes. Remove and let cool completely - 1 to 2 hours.
Icing:
While the cake is baking, combine the powdered sugar, heavy cream, vanilla extract, and salt in a small bowl. Mix with a fork until completely combined. (If icing is too thick, add a splash of heavy cream or milk and combine to loosen.)