Is there any way to download a sketch from an Arduino?
It should be possible as long as the security bit isn't set. This question was asked on EE a while back. 

Is it possible to extract code from an arduino board?

But you won't get the Arduino code you wrote back. The code is compiled into assembly and you'll have to convert that back to C yourself.