Preheat oven to 350°F/180°C (or 160°C fan oven), and grease a 9.5 or a 10-inch Bundt/tube pan with butter or cooking spray.
Using a hand or a stand mixer, combine granulated sugar with brown sugar and oil.
Add in the eggs, one at a time, beating well after each addition. Mix in the vanilla extract.
In a separate bowl, sift together the flour with baking soda, pumpkin spice and salt.
Add in the dry ingredients to the egg mixture in 3 batches, alternating with pumpkin puree and sour cream and beat well after each addition. Batter will be thick.
Pour the batter into the greased pan, and bake for 50-65 minutes or until a toothpick inserted in the center of the cake comes out clean.
Allow the cake to cool in the pan for 15 minutes, then invert it onto a wire rack to cool down completely.
When the cake has cooled down completely, make the cream cheese frosting. In a bowl of a stand mixer fitted with a paddle attachment beat the cream cheese with butter then add the powdered sugar in 3 batches to avoid getting a sugar storm. Mix in the vanilla extract and the milk. If the frosting is too thick, add more milk until you reach to the desired consistency. Spoon the frosting over cake, slice and serve.