Uhlenbrock servo decoder
There are many ways to control accessories and especially turnouts. Many manufacturers of turnouts also offer turnouts motors based on electromagnets. The problem with those is that they throw the turnouts instantly while making a fairly loud clicking noise. Another disadvantage is that they don't necessarily throw turnouts securely, and I've head them burn out a bit too often. Yet another disadvantage is that they're often mounted on the side of the turnout, making them difficult to integrate into the scenery.
A better option are turnout motors that can be mounted under the layout. These motors throw the switches slowly, making them look more prototypical. Many of these motors are big and they can be quite noisy.
Another option is to use servos. Servos are small and can be bought fairly cheap and have all the advantages of turnout motors. They also come in micro versions which are possible to hide in roundhouses and locomotive sheds to open and close the doors. The disadvantage is that servos need special decoders, they can't be controlled with regular turnout decoders. However, as servos have become popular fairly fast, there are various options for servo decoders.
Taking into account price and local availability, my choice went for the Uhlenbrock 67800 servo decoder. This decoder can control 4 servos using DCC. Speed and end positions can be configured and it uses very common plugs for the servos. This means you don't need to buy the rather expensive servos from Uhlenbrock, but you can buy the cheaper ones used in the RC community that are just as high quality, but manufactured in much larger volumes.
I haven't tested the decoder yet, so more info to follow ;)