Preheat your oven to 350°F (175°C). This ensures that your cookies bake evenly and thoroughly.
In a large mixing bowl, combine 1 cup of room temperature butter and 1 cup of sugar. Using a hand mixer or stand mixer, beat on medium speed until the mixture is light and fluffy, about 2-3 minutes.
Add in 2 large eggs, 1 teaspoon of vanilla extract, and 1 teaspoon of almond flavoring to the butter-sugar mixture. Beat until fully combined.
In a separate bowl, whisk together 3 cups of flour, 1 teaspoon of baking soda, 1 teaspoon of baking powder, and 1/2 teaspoon of salt.
Gradually add the flour mixture to the butter mixture, alternating with 1 cup of sour cream. Start and end with the flour mixture, mixing until just combined. Avoid overmixing to keep the cookies tender.
Using a cookie scoop or tablespoon, drop rounded tablespoons of dough onto the prepared baking sheets, leaving space between each cookie to allow for spreading.
Bake in the preheated oven for 10-12 minutes, or until the edges are lightly golden. The centers may look slightly underbaked, but they will firm up as they cool.
Remove the cookies from the oven and let them cool on the baking sheets for 5 minutes before transferring to a cooling rack to cool completely.
In a mixing bowl, combine 1/2 cup of softened butter with 4 cups of powdered sugar. Add 2-3 tablespoons of milk and beat until smooth. Add food coloring if desired, mixing until evenly colored.
Once the cookies are completely cool, spread a generous layer of frosting on each cookie and top with sprinkles if desired. Allow the frosting to set before serving.