In a small bowl, combine all ingredients for streusel topping, cutting in butter until thoroughly incorporated. Set aside.
Filling:
In a mixer, beat cream cheese, sugar, vanilla and egg until well combined. Set aside and clean bowl.
Cake:
Preheat oven to 350°F. Grease a 9x9 square baking pan with 2-inch high sides.
In a medium bowl whisk together flour, baking powder, baking soda, salt, cinnamon, ginger, nutmeg and cloves. Set aside.
In a mixer, cream butter and sugar until light and fluffy. About 3-5 minutes. Add eggs one at a time, beating well after each addition. Mix in pumpkin, sour cream and vanilla. Stir in dry ingredients until thoroughly combined.
Spread half the batter into prepared pan. Top with cream cheese filling. Spread remaining batter over filling in a smooth layer. Swirl layers a few times with a butter knife. Sprinkle with streusel topping and bake for 45-55 minutes, or until a wooden pick comes out clean.