Any chance you can do a blog post on your process and what you learnt?
tl;dr Use Instruments while running on the device (not the simulator) to pinpoint the highest avoidable CPU usage and then optimize the relevant code. Repeat until the scrolling is buttery smooth on a 3GS :)