In a medium bowl, sift the flour, baking powder, baking soda, and salt, and set aside.
In a large bowl, use an electric mixer to beat the softened butter until smooth and creamy. In 2-3 additions, add the granulated sugar and mix until mostly combined after each. Once all of the sugar has been added, mix until well combined, light, and fluffy.
Add the room temperature eggs, one at a time, and mix until just combined after each. Wipe the sides of the bowl with a rubber spatula and add the vanilla extract, sour cream, and whole milk. Mix until smooth, don't overmix.
In 2-3 additions, add the dry ingredients and mix until just combined after each. Then mix until the batter is smooth once all of the dry ingredients have been added in.
Divide the batter evenly between three bowls. Leave the batter in one bowl white, then add red gel food coloring to the batter in the second bowl, and add blue gel food coloring to the batter in the third bowl. Use a whisk to mix in the coloring and add a little more until you're happy with the color.
Scoop enough of each color batter into the cupcake liners until each liner is about ⅔ of the way full. Gently tap the pan on the counter to get rid of any air pockets and use a toothpick to gently swirl the batter in the liners 2-3 times, if desired.
Bake in the preheated oven for 15 minutes. A toothpick inserted into the center should come out clean.
Let the cupcakes cool in the pan for about 5 minutes before removing from the pan, then let them cool completely before frosting.