I think many of you feel the lack of true multitasking on the iphone, and will agree that no crippled push service will never substitute switching between apps.

You want it? Then let's get started!

1) Jailbreak your device!
2) Before you download any apps and packages, check the MobileSubstrate version!
Update MobileSubstrate to the latest version using Cydia or Rock (currently v.0.9.2805-1). Important: Icy doesn't see this update!

3) Install Backgrounder (if you're running OS 2.x, you should get the 2.x backgrounder build)
4) Update Activator if you still haven't.
5) Install ProSwitcher, Kirikae, or Multifl0w (this one is your personal choice, the first two are free, the last is shareware. I recommend ProSwitcher.)
6) Configure Activator and ProSwitcher in the Settings.app (my config is double-click home set to proswitcher, single click closes the app)

VOILA! Your iPhone is now multitasked! Don't forget to check for forgotten apps running in the background.
Works well on 3G, and AWESOME on 3GS.