Preheat the oven to 350 degrees.
In the bowl of an electric mixer, beat the butter until light and fluffy. Gradually add the granulated sugar and continue beating until fluffy. Add the eggs one at a time being sure to beat well after each addition. Add the vanilla and mix well.
In a small bowl, whisk together the flour, baking soda, baking powder and salt. In a separate small bowl, whisk together the sour cream, orange juice and zest.
Gradually add half the dry ingredients and half the sour cream mixture, to the butter/sugar mixture on low-speed of a stand mixer. Add the remaining dry ingredients and the remainder of the sour cream mixture being sure that all ingredients are thoroughly mixed together. Do not over beat.
Fill cupcake wrappers 1/2 full with batter and bake for 20-22 minutes or until a toothpick comes out clean. Cool on a wire rack.
Add the butter and cream cheese to the bowl of a stand mixture fitted with a paddle attachment. Beat on medium speed until light and fluffy.
Slowly add the sugar to the cream cheese mixture beating until light and creamy. Stir in the vanilla.
Transfer the frosting to a piping bag and frost the cupcakes, as desired.