Heat the oven to 350 degrees F. Line muffin pans with paper liners.
Cream the butter and sugar in the bowl of an electric mixer fitted with the paddle attachment on high speed, until light and fluffy. On medium speed, add the eggs, 2 at a time, then add the sour cream and vanilla. Scrape down the sides and stir until smooth.
Sift together the flour, cornstarch, salt, and baking soda in a bowl. With the mixer on low speed, add the flour mixture to the butter mixture until just combined. Fill the cupcake liners to the top with batter. Bake in the center of the oven for 20 to 30 minutes, until a toothpick comes out clean. Cool to room temperature.
For the icing, mix the butter, cream cheese, sugar, and vanilla in the bowl of an electric mixer fitted with the paddle attachment, on low speed, mixing just until smooth. Spread the frosting generously on top of each cupcake.