In a large bowl whisk together the flour, baking soda, baking powder and salt; set aside.
In the bowl of a stand mixer, cream the butter and sugar together at medium speed until light and fluffy. Add the eggs, one at a time, beating until each is incorporated. Add the vanilla extract and sour cream and beat at low speed until combined.
Add the dry ingredients and beat at low speed until just combined, scraping down the bowl as needed. Dough will be a little sticky and that is ok. Divide dough into two sections. Flatten into rectangles about 1½ inches thick, then wrap with plastic wrap. Chill in the refrigerator overnight or for at least two hours.
Preheat the oven to 425 degrees F. Line large baking sheets with parchment paper or Silpats; set aside.
Lightly flour the countertop and the top of the dough. With a rolling pin, roll the dough out to ¼-inch thickness. Using cookie cutters, cut out the cookies and place on prepared baking sheets. Bake for 7 minutes, until cookies are slightly golden around the edges. Immediately transfer cookies to a wire rack to cool. Cook cookies completely before frosting.
To make the frosting, in the bowl of a stand mixer fitted with the paddle attachment, cream together the butter and vanilla extract. Slowly beat in powdered sugar and the pinch of salt. Once smooth and creamy, add in heavy cream, 1 tablespoon at a time, then beat at medium-high speed for a minute or two until light and fluffy. Add food coloring, if desired, and beat until combined.
Once cookies have cooled completely, frost and add sprinkles, if desired. Allow frosting to set, then store in an air-tight container.