My MakerBot printer supports only two filaments at the same time.
What are techniques to print objects with more than two colors for one object?
The most obvious solution is to pause the print and swap filament for another color.
Another option is to splice pieces of filament together, though this does not allow very precise control of when the switch happens. There is also a device that can automatically slice filament this way.
Finally, another option that uses very little external equipment is to use (permanent) markers to colorize light-colored filament.
Other options include upgrading to a printer with more hotends, or installing a hotend with multiple filament inputs and one outputs, but these options would involve significantly changing your printer setup.
I've seen where certain slicers and/or firmware installations will allow you to set pauses mid-print so you can insert a different filament and resume. Such firmware that I'm aware of is Sailfish. I haven't personally used this, but I've heard many great things for people who enjoy tinkering with their machine(s). Alternatively, there are 3D-printable attachments for your extruder that allow you setup markers to color your filament (mentioned by Tom in another answer).
Another approach is Mosaic Manufacturing's Palette – it appears to a single extruder 3D printer as a filament reel, but it is creating a custom filament on-the-fly by
pulling information from a multi-extruder .gcode file to determine the length, and the order, each color segment needs to be.
The device was a successful Kickstarter campaign and as far as I can tell it isn't shipping yet (as of January 2016), but they are taking orders and promising an April 2016 ship date.
Answering this question fully depends on the type of printer you have. Some printers have a pause capability, while others do not. Some have multiple extruders, while most do not. Some have a tube leading to the extruder and others do not. You specifically are asking about dealing with more than two colors when you have a dual-extruder, but the question generalizes to how to get more colors than you have extruders.
Markers probably offer the easiest solution. You could have different markers on the feeds for each extruder.
For printers with no pause ability, you might have to snip one filament and hand feed the second color after the first one until it can be caught by the feeder gear.
There are rigs that are available, or that you can make, that will let you connect two strands together lengthwise. You can then make up a single piece of filament that has multiple colors. Thus, one extruder head will be generating multiple colors.
The Kickstarter mentioned elsewhere essentially does this automatically for several strands whose lengths are calculated precisely by special software. The result is a single strand of filament that goes into one of your extruders - the other extruder would be unused with this solution.
The standard option is to change out filaments at certain times during the print. Software to add these pauses to your print automatically are around, with one (ColorPrint). This method works if you only want to change at a certain Z height, and not intermix colors on the same levels.
The other newer development that works for many printers (this works for single nozzle printers as well) are getting Y type adapters that allow more than 1 filament to be fed into a single extruder, and use a rapid retraction to pull the filament back out past the Y connector to allow the next color to be fed into the nozzle. Several companies are putting products like this out on the market at this time. An example of this can be seen at this page.
As mentioned in other answers, Mosaic Pallette is an option to drive more complicated multi-color prints, but is a rather expensive option at $999.
The E3d Kraken might be a possible hotend upgrade to a Makerbot, although it would involve a fair amount of work.