As a rule, a CTE will NEVER improve performance. A CTE is essentially a disposable view. There are no additional statistics stored, no indexes, etc. It functions as a shorthand for a subquery. In my opinion they can be EASILY overused (I see a lot of overuse in code in my job).
Check the cupcakes at the minimum baking time. If the recommended baking time is 18-22 minutes, check them at 17 or 18 minutes (just a quick peek, make sure not to let too much heat out of the oven). If the tops are rounded and no long appear wet, they may be done.
Of course, it takes about 10 minutes to put them together and preheat the oven; then you wait 10 minutes after they're out of the oven to take them out of the muffin pans; then you have to let them cool completely before frosting (or the frosting just melts into the cupcakes) and then the time to actually frost them.