Through what methods and mechanisms can a multi-material FDM printer operate?
Let's look at various methods:

Multiple Hotends

The oldest version and one of the best to print materials at vastly different print temperatures (like printing a cheaper PLA infill into a Polycarbonate shell - the print temperature difference is 60-100 °C) is to have 2 or more hotends. This way also avoids the need for purging towers. It does, however, limit the maximum size of the used printbed and few 2-printhead machines are cheap.

Y-Coupler

Using a bowden setup, a Y-coupler could be used to feed the filament from 2 extruders into one hotend. On the switching tool command, E0 would pull the filament back some couple millimeters beyond the coupler and then E1 would push forward back into the meltzone. One will need a purging tower/object.

Special, multi-entry hotend

Some Hotends had been concieved that have 2 or more ways into the meltzone and the multiple extruders push along them. They generally are quite complex and hard to clean, but they allow to seamlessly blend between two filaments of the same material and create pretty much a controlled fade by precisely directing how much of either side is used on any layer. For clean cuts, a purging tower is necessary.

Splicing filament

This is what the Palette 2 and the Prusa MMU do: they push pieces of filament into a feeder tube that then are consumed by the printer via its own extruder. If they melt the filaments together like in the PAlette, it's proper splicing, if they just line up the next filament piece without merging into a spliced filament it's more like instant color switching.

This method is good for multi-color prints or using materials that have the same or similar1 melting temperatures. It might or might not need a purge tower/object to get rid of the residue in the zones between the filaments.

This could btw also be done manually but should be avoided.

1 - or rather not too dissimilar, if the slicer is set up to do it right. By setting up the slicer cleverly, one can have the extruder retract the filament, then adjust the heat over the purge tower and then resume extruding in the purge object at the changed temperature. PLA/PVA from a Prusa MMU is known and advertised to be doable, PLA/ABS might be possible this way. For extreme dissimilarities like PLA/PC (60-100 °C) I have my doubts though. 

Usability

All of these variants are basically viable, but some have benefits over others. Service is in this comparison meant as repairing a broken extruder, maintaining as the operations needed to keep it in printing order.


multiple fully independent hotends is among the easiest to services. It could be direct drive (good for flexible filaments) or bowden. It is however heavy and usually not an option for delta printers. It has a downside that you have to perfectly level two hotend nozzles to be exactly on the same height, putting it in the hard to maintain category.


multiple hotends on the same carrier is harder to service and maintain in comparison to multiple independent hotends as the components are very close together. Especially nozzle height adjustments can be more finicky.

Y-Coupler needs to be a bowden and has problem with materials that are very stringy. That makes it especially bad for flexible materials. Maintaining is like a normal hotend and servicing is almost the same.
Special hotends are hard to come by but could be available for direct drive, making them possible for flexible filaments. They are, as already noticed, very hard to service.
Splicing filament can be done with either direct drive or bowden setups. It is probaby the most convenient to use after setup and has the maintenance and serviceability of a single hotend and a fully separate machine. Their biggest downside is price and setup time needed.