Preheat the oven to 350 degrees F. and prepare a cupcake pan with liners.
In a large bowl, use an electric mixer to combine the butter and sugar until light and fluffy, 3 to 4 minutes. Mix in the sour cream and vanilla. Mix in 1 of the egg whites, then mix in the remaining 2 egg whites. Scrape down the sides of the bowl as needed to make sure everything is well combined.
In a medium bowl, whisk together the flour, baking soda and salt. In a small cup, combine the buttermilk and vinegar. Add half of the flour mixture to the batter and mix until well combined. Mix in the buttermilk mixture. The batter may look a little curdled at this point. Mix in the remaining flour mixture, mixing until smooth. Add the pink food coloring and mix until incorporated throughout the batter.
Fill the cupcake liners about ¾ full and bake 15 to 17 minutes or until a toothpick inserted in the center comes out with just a few crumbs. Remove the cupcakes from the oven and allow them to cool for 2 to 3 minutes, then remove them from the pan and transfer them to a cooling rack to cool completely.
FROSTING
In a large bowl, use an electric mixer to combine the cream cheese and butter. Add 2⅛ cups sugar and beat until smooth. Mix in the vanilla and milk. Add remaining 2⅛ cups sugar and mix until smooth.
To pipe the frosting, scoop into a piping bag with a closed-star tip (recommend: Ateco 844 tip or Wilton 2D or Wilton 1M). To pipe a rose on top of your cupcake, start in the center, then lift the tip above the center and spiral around in a circle. When you are done, release pressure on the piping bag and pull away.
Notes
Store these cupcakes in an airtight container in the refrigerator. The cupcakes are best when eaten within 2 to 3 days. They are best served at room temperature. They also freeze well in a covered container.