Preheat the oven to 350°F (175°C) and grease or line a 9-inch round cake pan.
In a bowl, whisk together flour, sugar, baking powder, baking soda, salt, cinnamon, and nutmeg.
In another bowl, cream the softened butter. Add pumpkin puree, eggs, vanilla, and sour cream. Mix well.
Fold the dry ingredients into the wet mixture until just combined.
In a separate bowl, prepare the streusel topping by combining flour, brown sugar, cinnamon, and cold butter. Mix until crumbly. Stir in chopped pecans if desired.
Pour the cake batter into the prepared pan, and sprinkle the streusel topping evenly over the batter.
Bake for 35-40 minutes, or until a toothpick comes out clean. Let it cool for 10 minutes before removing from the pan.
Optional: Prepare the glaze by whisking together powdered sugar, milk, and vanilla. Drizzle over the cooled cake.