Mix Dry Ingredients: In a medium bowl, whisk together the flour, baking powder, baking soda, and salt. Set aside.
Cream Butter and Sugar: In a large mixing bowl, beat the softened butter and sugar together until light and fluffy.
Add Wet Ingredients: Beat in the eggs, one at a time, followed by the vanilla extract and sour cream, mixing until fully combined.
Combine and Chill: Gradually add the dry ingredients to the wet mixture, mixing until a soft dough forms. Cover the dough and refrigerate for at least 1 hour.
Preheat Oven: Preheat your oven to 350°F (175°C). Line baking sheets with parchment paper or silicone baking mats.
Shape and Bake: Roll the chilled dough into 1 1/2-inch balls and slightly flatten them with your hand or the bottom of a glass. Place the cookies on the prepared baking sheets, spacing them about 2 inches apart. Bake for 10-12 minutes, or until the edges are set but the centers are still soft. Do not overbake. Let the cookies cool on the baking sheet for 5 minutes before transferring to a wire rack to cool completely.
Make the Frosting:
Cream Butter: In a medium bowl, beat the softened butter until smooth. Gradually add the powdered sugar, 1/2 cup at a time, alternating with the cream or milk, until the frosting reaches your desired consistency.
Add Flavor and Color: Mix in the vanilla extract. If desired, add food coloring to achieve your preferred shade.
Frost and Decorate:
Frost the Cookies: Once the cookies are completely cooled, spread or pipe the frosting onto each cookie. Decorate with sprinkles if desired.
Set the Frosting: Allow the frosting to set for about 30 minutes before serving.