If only C2 had decent HSV() function that produces a usable color from Hue/Saturation/Value this would be a piece of cake, but for some reason these crucial functions almost never get implemented. For CC I ended up making my own plugin that does this.
For decent color transitions HSV (or HSL or HSB) is crucial - one way to achieve this is adding a HSL effect to your background layer and adjusting the values there (like lerping from one hue to another). Not sure about the performance hit, but it shouldn't be too bad.