I think working on the funding agencies (i.e., getting them to adopt sensible policies) is the right strategy. For the individual researcher, the incentives for code & data sharing are pretty limited right now, at least until the culture changes.
On the technical side of code/data sharing--I think one obstacle (in least in the fields I'm familiar with) is that may researchers put together papers in a way that makes reproducibility needlessly hard. If you do all your stats in something like Stata or SPSS, then paste tables/figures into an MS Word document (which is passed around among colleagues), finding your own errors is hard enough---never mind some third party trying to re-produce your results. If instead, you use tools like Sweave & script the data analysis & paper assembly process (ideally with version control), reproduction/sharing becomes much simpler.