Preheat oven to 350F. Grease muffin tin or line with muffin liners.
In a large bowl, sift flour, baking powder, baking soda and salt. Mix well.
In the bowl of an electric mixer fitted with the paddle attachment, mix eggs and sugar until well combined. Gradually add oil and vanilla, mix until just blended.
With the mixer on low, slowly add half the flour mixture; mix until just blended. Add the buttermilk, mix until just blended. Slowly add remaining flour mixture, scraping down sides of the bowl with a spatula, as necessary, until just blended.
Divide batter evenly among prepared muffin cups. Transfer muffin tin to oven and bake for 8 to 10 minutes. Transfer muffin tin to a wire rack and let cupcakes cool completely.
To prepare frosting, in a large heatproof bowl, combine sugar and egg whites. Using a handheld electric mixer, beat on high speed until foamy for 1 minute. Set bowl over a pan of barely simmering water. Beat on high speed until frosting form stiff peaks, about 10 minutes.
Remove from heat, stir in vanilla and water, and beat for another 2 minutes until frosting thickens.
Transfer frosting to a large pastry bag fitted with a wide plain pastry tip and pipe frost the cupcakes. Place frosted cupcakes in freezer for at least an hour.
To prepare the chocolate coating, combine chocolate and oil in a medium heat-proof bowl set over a medium saucepan of barely simmering water, stir until melted and smooth. Transfer to a small bowl, and let cool slightly.
Take the cupcakes out of the freezer. Grab each cupcake with its bottom, dip cupcake in the chocolate to coat the frosting, let excess chocolate drip off. Place on a serving plate and decorate with sprinkles.
Let cupcakes stand at room temperature for 5 minutes to harden the chocolate coating.