Unfortunately Monero is the only one doing it right: all transactions are enforced private by default. Dash and zcash offer confidential transactions as an opt-in feature, but so few people use them that it draws additional scrutiny when they do.
At this point in time it's "Solo Monero" for privacy.
Private by default, but the default of 2 foreign tx seems to be largely what people use. It'd be fun to trace it and start to show the probability that a given tx traces to a given public key. I imagine that the older tx have closer and closer to a uniform probability across older addresses. Might make for a good data vis project.
Possibly Ethereum after it gets pre-compiled contracts for elliptic curve point addition and scalar multiplication in the Metropolis upgrade, which will enable zk-SNARKs. Among the many applications enabled by succinct zero-knowledge proofs of arbitrary computations are private transactions.
At this point in time it's "Solo Monero" for privacy.