This is definitely an interesting question :-). Before the rel=canonical link element was announced, using noindex robots meta tags was one way that webmasters were directing us towards canonicals, so this is certainly something we know and understand. However, with the coming of the rel=canonical link element, the optimal way of specifying a canonical is (apart from using a 301 redirect to the preferred URL) is to only use the rel=canonical link element.
One reason for this is that we sometimes find a non-canonical URL first. If this URL has a noindex robots meta tag, we might decide not to index anything until we crawl and index the canonical URL. Without the noindex robots meta tag (with the rel=canonical link element) we can start by indexing that URL and show it to users in search results. As soon as we crawl the canonical URL, we can change to the canonical URL instead. It's also much safer because you don't have to worry about serving different versions of the content depending on the exact URL :-).
One thing that you have to also remember is that (as Cristina mentioned and as is mentioned in the blog post) the rel=canonical link element is considered a hint that helps us to recognize the canonical URL. It is not an explicit directive and therefore it might take a bit before it takes affect (so just be patient while things settle down :-)).