Preheat oven to 350˚F.
In a large mixing bowl whisk together flour, baking powder and salt. Set aside.
In a stand mixer, fitted with a paddle attachment, cream together butter and sugar until soft and fluffy.
Add beaten eggs and continue to mix together. Scrape down the sides of the bowl and add the sour cream and vanilla. Mix together (mixture will look lumpy and not entirely together).
Add the dry ingredients and mix together until everything is fully incorporated and completely combined.
Cover dough with plastic wrap (directly on the surface) and refrigerate for about 30 minutes.
Roll 2 tablespoon sized balls of cookie dough, using your hands and place on a baking sheet lined with parchment, about 1 inch apart. Using the bottom of a sterilized measuring cup or can, gently press the tops of each cookie down so they have a flat top.
Bake cookies for about 9 minutes or just until they puff up and barely begin to brown along the bottom edges (the surface should still be pale and white).
Remove cookies from the oven and allow them to cool for about 5 minutes before transferring them to a cooling rack to completely cool.
Frosting: Place all the ingredients into the well of a stand mixer (fitted with a paddle attachment) and beat together until soft and fluffy, 6 to 8 minutes.
Once cookies have cooled completely, frost the tops with the frosting and finish with sprinkles, if using. Serve.