Preheat the oven to 350 degrees Fahrenheit (177 degrees Celsius). Line a muffin pan with paper liners, and set aside.
In the bowl of a stand mixer fitted with a paddle attachment, beat the butter, sugar, and zest together on medium speed until light and fluffy, about 2-3 minutes.
Add vanilla, egg, and egg whites. Beat on medium speed until combined, about 1-2 minutes.
In a medium bowl, whisk together the flour, baking powder, baking soda, and salt.
In a small bowl, whisk together the lemon juice and sour cream.
With the mixing speed on low, gradually alternate adding the dry ingredients and the lemon juice and sour cream mixture to the wet ingredients; do not overmix. Fold in fresh fruit, if desired.
Using a large scoop (#20 or 3.5 tablespoons), divide the batter evenly into the prepared pan.
Place in the oven and bake for about 18-22 minutes, or until a toothpick inserted into the center comes out clean. The edges should be slightly golden brown. Remove from the oven and allow to cool in the pan for 5 minutes before transferring the cupcakes to a wire rack to cool completely.
Meanwhile, to prepare the cream cheese frosting, use the paddle attachment to cream the butter, lemon zest, vanilla, and salt for 2 minutes, or until light and fluffy. With the mixing speed on low, gradually add the powdered sugar and lemon juice, beat until it forms a thick paste. Add the cream cheese and mix on the lowest speed possible for 1½ minutes, then STOP! Place in the refrigerator to chill for at least 15 minutes, or until the cupcakes have completely cooled. Allow to stand at room temperature for 5 minutes before placing in a bag to pipe on cupcakes.
Using a large piping tip, pipe the frosting on top of the cooled cupcakes. Top with a slice of lemon and a sprig of mint, if desired.