Preheat the oven to 350°F. Grease and line an 8-inch square pan or 9-inch round pan. Set aside.
Start by making the streusel. In a small bowl combine flour, butter, sugar, cinnamon, and salt. Whisk it together and then cut in butter with a pastry cutter or a fork. The butter should be pea-sized when done. Stir in pecans and set aside while yo make the cake.
Whisk together the flour, baking powder, baking soda, salt, cinnamon, nutmeg and cloves in a medium bowl and set aside.
Combine the butter and both sugars together in a large bowl until the mixture is fluffy. Add the pumpkin puree, sour cream and eggs, and mix until combined.
Pour the dry ingredients into the wet and mix until just combined.
Pour the batter into the prepared pan. Scatter the streusel evenly over top, and bake for 55 -60 minutes, or until a toothpick inserted in the center of the cake comes out clean.
Allow to cool on a wire rack while you make the icing. In a small bowl stir together confectioner's sugar and milk. Start with 1 tablespoon and add more if it needs it. You want an icing that is fluid, but won't run off the cake.
Drizzle the icing over the cake. Store covered at room temperature until ready to serve.