How to customize the colors within a stylesheet using a WordPress setting

I would recommend a color option. Generally, a color option just loads a separate style sheet. E.g., loading the style-blue.css style sheet would include all those elements you wanted to be blue. (You would load this in addition to your main style sheet.) This is how many themes work, so this a proven approach. This also takes advantage of caching, which will speed things up and reduce server load.

However, if the amount of code required to make the changes is small (under 20 lines, say), I would just use the customizer’s Custom CSS option.