Anyone know any filaments or methods to have an immediate color change
There is a solution (or multiple) where you can have multi color filament without a gradual transition from one to the other color (seen from the filament side, not the extrusion/nozzle side), i.e. immediate color change. This requires an additional piece of equipment to do this automatically, or could be done even manually1).
There are systems that calculate what color is needed for which part of the extrusion process and cut and pastes (welds) multiple colored strands of filament to a single strand of filament, see e.g.:
If you look closely, you see that the single filament strand is composed of various colored strands welded together (4 colors, fifth being welded).
Using multiple colors and single hotend wil require an extra extrusion of the new color to purge the hotend for a clean and crisp change. Slicers are already equipped to to this task for you, these are called purge towers, they print alongside the print and prevent too much blending of colors.
Source Peter Leppik
1)Note that an expensive device is not specifically necessary, with a little effort you can do it yourself. This requires slicing the part for multi colors (including a purge or printing purge tower to prevent mixing of colors) and parse the obtained G-code file to find all the respective lengths of the colors. These are easily found as a color change implies a tool changing script to be active in the G-code file, summing the individual lengths you could created your own filament by welding the individual colors together. Now remove the tool changes from the G-code file and you have created a "manual" multi-color print using a single hotend and extruder.