The typical way to do it would be to write code that sets the color each frame. Usually you have a variable that is a percentage from 0 to 1, then you multiply the color parts, eg:
Color color, start, end;
currentTime += delta;
float percent = min(currentTime / duration, 1);
color.r = start.r + (end.r - start.r) * percent;
color.g = start.g + (end.g - start.g) * percent;
color.b = start.b + (end.b - start.b) * percent;
color.a = start.a + (end.a - start.a) * percent;
Alternatively, you could create an animation that does the color changes you want, then play that using AnimationState.