I never actually wrote components or directly modified IPB2 but I find getting what you want done in IPB3 to be simple and pain free (and, tbh, actually quite fun/interesting). I'm porting over bfarber's Links System for IPB3 and I've already managed to get the ACP ported along with several improvements to it. I like how they made it easy to integrate your app with several of the forum's core functions like searching, item marking, editing members/groups in the ACP, etc. without editing a single file. Of course, it helps that in IPB3 pretty much everything is now an application, even the stock functionality like core, members & forums, so 3rd party app developers benefit from whatever IPS does to make integrating their own apps easier :P