Whisk dry ingredients. In a bowl, whisk flour, cornstarch, baking powder, baking soda, and salt. Set aside.
Cream fats and sugar. In a large bowl, beat butter, oil, and sugar on medium until light and fluffy, about 2–3 minutes.
Add eggs and flavor. Mix in egg, egg yolk, vanilla, and almond extract until smooth.
Scrape the bowl.
Blend in sour cream. Beat in sour cream just until combined. The mixture will look creamy and slightly thick.
Add dry ingredients. On low speed, add the flour mixture in two additions. Mix just until no dry spots remain.
The dough will be soft and slightly tacky.
Chill. Cover and refrigerate for 45–60 minutes. This helps the cookies keep their shape and stay thick.
Preheat. Heat oven to 325°F (165°C). Line two baking sheets with parchment.
Portion. Scoop 2-tablespoon mounds (about 35–40 g each).
Roll gently into balls and place 2 inches apart. Lightly flatten to about 3/4 inch thick for the classic look.
Bake. Bake 10–12 minutes, until the edges look set and the centers appear puffy and matte but not browned. Do not overbake.
Cool. Let cookies rest on the sheet for 8–10 minutes, then transfer to a rack to cool completely.
Make frosting. Beat butter until creamy.
Add powdered sugar, salt, vanilla, and 2 tablespoons cream. Beat until fluffy, 2 minutes, adding more cream to reach a spreadable, plush texture. Tint if you like.
Frost and decorate. Generously frost cooled cookies and add sprinkles.
Let the frosting set 20–30 minutes before serving.