I've just finished reading Banerjee's important little book on evaluation in international development, in which he calls for the use of randomized trials as a way of assessing the effectiveness of interventions. His argument is overwhelming: without proper experiments, what do we really ever know?
Half of the book is devoted to replies from 'aid specialists' (bravery for which the author should be applauded), many of whom criticise his proposals for one reason and another. One of their objections holds weight - much aid nowadays is delivered as sector support, which cannot be subjected to randomized testing. Some of our knowledge about the way countries develop will always have to come from sources other than field experiments.
I will add one further, rather esoteric, point. The use of randomized trials sustains a technocratic approach - it does not challenge the positions of officials in donor agencies. Wouldn't it be even better to give the beneficiaries of aid genuine customer choice and control over the service they receive, rather than relying on an analysis of what generally works and then imposing it upon everyone?