Preheat the oven to 350°F (175°C). Line two standard 12-cup muffin tins with cupcake liners.
Whisk together the flour, baking powder, and salt in a medium bowl. Set aside.
In a large mixing bowl, lightly beat the eggs, then add the sugar. Use an electric mixer on medium-high speed to beat for about 5 minutes or until tripled in volume and pure white in color.
Gradually add in the flour mixture, stirring just until combined. Add the milk, oil, vanilla and melted butter. Gently stir until incorporated.
Divide the batter equally into the prepared muffin tins, filling each one no more than two-thirds full. (You should still be able to see about 1/4 inch of the cupcake liner.)
Bake for 23 to 27 minutes, or until the cupcakes are slightly browned on the edges and a cake tester comes out clean.
Allow to cool to room temperature on a cooling rack.
To make the frosting:
Combine the egg whites and sugar in a heatproof glass bowl. Create a double boiler by placing the bowl over a pot of simmering water. The water should not touch the bottom of the bowl.
Whisk constantly until the sugar has dissolved and the mixture reaches 160°F. (This will take about 7 minutes.) The mixture will be silky smooth and pure white in color.
Transfer the egg the mixture to the bowl of a stand mixer with a whisk attachment. Whisk the egg white mixture on high speed until stiff peaks form and the mixture has cooled to room temperature, about 10 minutes.
Switch to a paddle attachment, then gradually add a few of the cubes of softened butter at a time, while continually mixing on medium speed. Mix until smooth and creamy. Add the vanilla extract and salt, and mix until well combined.
Transfer to a piping bag fitted with a large star tip. If needed, chill the frosting in the refrigerator for 15 minutes to firm up before frosting the cupcakes.
Frost the cooled cupcakes and decorate with sprinkles if desired.
Notes
Store unfrosted cupcakes in an airtight container at room temperature up to 2 days. Store frosted cupcakes in an airtight container in the refrigerator up to 3 days. Let them come to room temperature for serving.