In a large mixing bowl with a hand mixer or in a stand mixer with a paddle attachment, cream together the butter and sugar until light, fluffy, and pale in color.
Beat in the eggs one at a time until incorporated.
Add in the sour cream and vanilla and mix until well combined.
In a separate bowl, whisk together the flour, baking powder, and baking soda.
Add the flour mixture to the butter mixture a third at a time, mixing well.
Cover and refrigerate dough for 2 hours or overnight (overnight is preferred).
Preheat the oven to 350 F. Divide the dough into four separate balls.
Work with one dough ball at a time, keeping the remaining dough in the fridge so they don’t get too soft and doughy.
On a lightly floured surface roll the dough out to a ¼ or ½ inch thickness.
Cut into Christmas shapes with a cookie cutter. Transfer cookies to a lightly greased cookie sheet and bake for 10 minutes.
Remove from oven and move cookies to a rack to cool.
In a large mixing bowl with a hand mixer or in a stand mixer with a paddle attachment, cream the butter until fluffy.
Add the vanilla and salt and mix well.
Add the confectioners’ sugar, one cup at a time and beat until incorporated.
Add the milk and beat until smooth. Spread over cooled cookies and serve immediately.