To create the 'programmable filament,' you only switch over to each color once as they generate the toolpath in such a way that the nozzle doesn't interfere with previously printed filament (and the printer resets the z-axis back to 'layer 0' each time it switches colors).
For making relatively small, multi-material / multi-color prints, this really is a pretty clever system that looks reasonably practical on a wide variety of existing low-end 3D printers. With good software support, I could imagine being able to make things with interesting physical properties by making hybrid rigid / flexible materials (integrated hinges or other deformable parts, for instance).