Preheat the oven to 350°F (175°C) and line a 12-cup muffin pan with paper liners.
In a large bowl, beat 1/2 cup (1 stick) unsalted butter and 2/3 cup granulated sugar with an electric mixer until light and fluffy.
Add the eggs one at a time, beating well after each addition, then beat in 1 teaspoon vanilla extract.
In a separate bowl, whisk together 1 1/2 cups all-purpose flour, 1 1/2 teaspoons baking powder, and 1/4 teaspoon salt.
On low speed, alternately add the flour mixture and 1/4 cup milk to the butter mixture in three additions, beginning and ending with the flour, scraping the bowl as needed.
Divide the batter evenly into three small bowls and tint each bowl red, white (add a tiny bit of clear vanilla if desired) and blue with gel paste until you reach the desired shades.
Spoon a spoonful of red, white, and blue batter into each lined muffin cup; use a toothpick to gently swirl the colors together in each cup without overmixing.
Bake for 16 to 20 minutes, or until a toothpick inserted in the center comes out clean and the tops are springy to the touch. Allow cupcakes to cool completely in the pan on a rack before icing.
For the frosting, beat 1 cup (2 sticks) butter with 3 cups powdered sugar on low until blended, then increase to medium and beat 3 minutes until fluffy.
Add 1 teaspoon vanilla extract and 1 tablespoon cream and beat 1 more minute; add up to 1 additional tablespoon cream if needed to reach spreading or piping consistency.
Divide the frosting into three bowls and color red, white, and blue. Fit a piping bag with a Wilton 1M tip and spoon the three colors side-by-side into the same bag for a tricolor swirl.
Pipe the frosting onto cooled cupcakes to create a swirled red, white, and blue top.