Preheat oven to 350 degrees. Line two standard size cupcake pans with 18 liners, set aside.
In the bowl of a stand mixer, beat the butter, oil, sugars, vanilla extract and melted chocolate until smooth. With mixing speed on low, add the eggs one at a time until incorporated.
In a medium size mixing bowl, whisk together flour, sifted cocoa powder, salt, and baking soda. With mixing speed on low, gradually add the dry ingredients along with the sour cream (or buttermilk) and the warm water. Mix just until combined. Allow the batter to rest for 5 minutes.
Divide batter evenly among cups, filling ⅔ of the way full (I like to use a large scoop, a #20). Place in the oven and bake for 17-20 minutes, or until the tops spring back when touched and a cake tester comes out clean. Be careful not to over bake! Allow the cupcakes to cool in the pans for 5 minutes before transferring to a wire rack to cool completely.
Meanwhile, to prepare the filling, in a medium saucepan, combine the cherries, water, sugar, and cornstarch. Cook over low heat until thickened, stirring constantly. Remove from the heat and stir in the vanilla extract. Allow to cool completely before using.
To prepare the frosting, in a large mixing bowl with a hand mixer or the bowl of a stand mixer fitted with the whisk attachment, combine the whipping cream, powdered sugar and vanilla extract. Beat on low, then gradually turn speed up to high. Beat until stiff peaks form.
To assemble, using a cupcake corer or a paring knife, cut a hole in the center of each cupcake. Add cherry filling, then spread or pipe the whipped cream "frosting" on to the cooled cupcakes.
Garnish with chocolate shavings or curls and top with fresh or jarred cherries.