This is my opinion and is not backed up by any concrete evidence.
Given the choice, I would opt for the cross-domain rel canonical. Matt Cuts has said that google prioritizes the original page in search results (link references rel canonical within domain, not cross-domain) and based on todays whiteboard friday and this video from matt cuts, I think rel canonical is the way things are moving, particularly for content syndication.
Edit: It also just occurred to me that there is no reason you can't ask for both. Rel canonical is helpful to GoogleBot determining who the original content creator is but offers absolutely nothing for the user. It takes little more than the flick of a pen to require your syndication partners to include both rel canonical and a link back.
Edit #2 : Regarding your question about the difference between the Google Source Attribution tag vs. Cross-Domain rel canonical :
Update 2/11/11:
We've had a lot of interest in these meta tags, particularly in how the syndication-source tag relates to rel=canonical. After evaluating this feedback, we’ve updated our system to use rel=canonical instead of syndication-source, if both are specified.
If you know the full URL, rel=canonical is preferred, and you need not specify syndication-source.
If you know a partial URL, or just the domain name, continue using syndication-source.
We've also had people ask "why metatag instead of linktag"? We actually support both forms for the tag, and you can use either. However, we believe the linktag form is more in line with the spirit of the standard, and encourage new users to implement the linktag form rather than the metatag form we originally proposed.
Source