My most recent column went live on MSDN today. It discusses different methods of dynamic execution of code.

Executive summary: Avoid Type.InvokeMember() if you can.

[Update: One of my readers sent me an article with some additional timings]