Make the cupcakes: Preheat oven to 350 degrees. Cover a 12-inch ovenproof bowl or tube pan (center removed) with a double layer of heavy-duty foil. Poke 12 holes in the foil, 2 1/2 inches apart, using a skewer or a sharp paring knife. Place a cone in each hole, leaving top inch of each visible.
Sift flour, baking powder, and 1/2 teaspoon salt into a bowl. Beat butter and sugar with a mixer on medium-high speed until pale and fluffy. Add eggs, 1 at a time, then vanilla. Beat in flour mixture in 3 additions, alternating with milk, beginning and ending with flour. Continue to beat until combined.
Fill each cone with 2 to 3 tablespoons batter. Bake, rotating bowl halfway through, until a toothpick inserted into the centers comes out clean, 18 to 20 minutes. Transfer to a wire rack. Let cool completely.
Make the Swiss meringue buttercream: Heat egg whites, sugar, and salt in the heatproof bowl of a mixer set over a pan of simmering water, whisking, until mixture is warm to the touch and sugar dissolves (it should feel completely smooth when rubbed between 2 fingers).
Transfer bowl to mixer, and whisk on low speed, gradually increasing speed to medium-high, until stiff (not dry) peaks form. Continue whisking until cooled and glossy peaks form, about 10 minutes.
Reduce speed to medium-low, and add butter, a few tablespoons at a time, whisking well after each addition. Whisk in vanilla. Switch to the paddle attachment. Continue beating on low speed until air bubbles are eliminated, about 2 minutes. Scrape down sides of bowl. Beat until completely smooth.
Transfer buttercream to a pastry bag fitted with a coupler or a large round tip. Pipe buttercream onto cupcake in a circular motion to create a "soft serve" swirl. Garnish with chocolate and cherries. Serve immediately.
Buttercream can be stored at room temperature for up to 1 day or refrigerated for up to 3 days. Bring to room temperature and beat on low speed until smooth before using.