I often switch my print material, i.e. ABS / PLA / Wood / Flex,
How can I best clean out my extruder between them to ensure I don't contaminate my next print?
If you feel you need to clean the nozzle the best approach is a cold pull. You can perform this procedure with many printers, however, you should seek advice from your printer manufacturer before attempting this process if you have any doubts.
With the previously filament still loaded and the tool head cold:
Begin to raise the temperature of the tool to the printing temperature of the next filament you intend to load
As it begins to warm up perform any tasks you normally perform during filament unloading (open the idler, for example). You should not be fighting against the extruder drive gear or any other part of the tool during this process!
With a fair amount of pressure begin pulling on the filament
The old filament should eventually release from inside of the tool leaving the end of the filament roughly in a nice molded shape of the inside of the tool. Begin loading the next filament you intend to print and manually feed some filament through as the tool finishes heating
Anything left over from the previous filament including pigment or other residue should be stuck to the end of the filament.
You can perform cold pulls as many times as you wish by loading new filament, extruding a small amount, letting it completely cool and repeating the steps.
In most cases, removing the old filament from the printer, inserting the new filament in, and running the new filament through the printer for a short period of time will clean the nozzle. The skirt of the print can also be a time during the actual print for the old filament to be flushed. Assuming the skirt is long enough, all that needs to be done is the new filament inserted and the print started.
Assuming that extruding new filament does not fix the problem, there is a more serious problem such as a clogged extrusion head that needs to be fixed with other methods.
Some people use a nylon "cleaning" filament when switching types of filaments. It heats well to a variety of temperatures and seems to stick well to whatever is in there when pulling it back out. Be sure to heat it up to the temperature of the filament being removed to get that to bind with the nylon.
eSun has a cleaning filament that extrudes at a wide range of temperatures. It may seem ridiculous to use filament that costs over $100 USD per kilo to purge the nozzle, but it's very convenient and in practice, you don't use much each time (it's sold in 100g packs). I'm still using some samples I received with some filament over a year ago.
Cold pulls will probably be more effective though (as described in another answer), they're just more effort. I usually use cold pulls with nylon when I want to clear out my nozzle, either as part of routine maintenance or when switching to plastics that are sensitive to contamination (usually PETG or ninjaflex). I usually use the cleaning filament when I want to change from a dark to a light or clear filament, especially if the new filament is expensive. Most of the time I just feed in enough of the new filament to purge out the old, with the temperature set to the max of the two.