Are there direct flights from Moscow to Tenerife? If not, what is the best way to get there? I'm interested in Los Cristianos. As I understand it, regularly ships from the Spanish mainland go there?
Yes there are flights direct from Moscow to Tenerife, although these are not your regularly scheduled variety. There are charters operated by ВИМ Авиа and Transaero which can be booked from Chartex as well as charters operated by Aeroflot and Н5 that can be booked from Ticket-Charter. These are chartered flights, so restrictions and other issues may befall them.
As far as other possibilities are concerned you can find flights from SkyScanner, which will give you a 1 stop flight to Tenerife via various destinations in Europe.
From what it appears having looked on travel comparison sites for available flights there are no direct flights between Moscow & Tenerife. You didn't mention any particular date of travel so I chose a week departing 3rd April, returning 10th April 2013. Sample results from the comparison site kayak.co.uk indicate flights with a stop over in either Barcelona or Madrid (note the duration of travel).
Tenerife being a part of the Canary Islands are located directly west of Morocco, and are far from mainland spain. I thinking getting on any type of sea faring vessel from Spain to Tenerife is not ideal(unless you were planning a cruise).
If I were you, I am aware that EasyJet recently started flying between London Gatwick & Moscow, and also fly from London Gatwick to Tenerife (flying time approximately 4 hours). I would strongly suggest consulting them, as an alternative:
Like I say you haven't mentioned date of travel, prices may vary considerably if it were June instead of April (as I gave in the example above).