Are there already several ways to do "smart contracts" with cryptocurrencies?
There is Orisi.org - you can read the whitepaper here Orisi.org/distributed oracles whitepaper, and run an example Timelock contract here.

The differences between distributed oracles/Orisi and Ethereum are:


Orisi works on top of Bitcoin, so there are no other currencies inbetween
oracles can reference external inputs, so you can create a contract that finalizes based on weather/currency prices, or even mechanical turk
it's available today
on the other hand, it has a different trust mechanism than Ethereum - oracles are supposed to be run by trusted independent parties. So, instead of proof of work, you have a proof of identity.


You can also read this blogpost by one of the bitcoin core devs: bit-thereum. It explains why m of n oracles might be a good solution for contracts.