These instructions are specific to the Sprint Galaxy S2 (Epic 4G Touch or SPH-D710).
Although similar methods may work with other phones this method uses methods that ARE NOT compatible with any other phone but the Sprint Galaxy S2.
If you do not have the Sprint Galaxy S2 please DO NOT follow these instructions as they will most likely brick your phone!

Since these instructions were originally written there have been multiple safe kernels that have been developed and released. As this is still the safest method I will be leaving the instructions as is. If you are using a safe Recovery and kernel combination please boot to Recovery skip to step number 10.

Prerequisites

Your device must be rooted. If it is not rooted please see the How To Root tutorial here.

You'll need to have Chris41g's CWM5 Repack saved to your phone. It is available for download here.

You'll also need to have the ZIP you intend to flash saved to your device or sdcard.

You must have Mobile Odin installed on your device.
Mobile Odin Pro can be purchased from the Market or there is a free XDA version for XDA members.
I'd suggest the Market Pro version - it has additional features and all proceeds go to supporting Chainfire who is an awesome developer! If you prefer the free version you can find it here.

Instructions

Open Mobile Odin.

Select "Open File".

Select either "Internal SD-card" or "External SD-card" (depending on where you saved the EL26 CWM repack).

Browse to the EL26 CWM repack and select it.

Select "Flash firmware".

Select "Continue".

Select "Check" to verify the MD5 signature.

After phone has started to reboot (when you see the screen go black) hold down Power and Volume Up until CWM boots.
If you have trouble with this step see this XDA post by knoc for another method.

Press Volume Up, Volume Down, Volume Up to enable the Power button as the select key.

Scroll down to "wipe cache partition" and press power.

Scroll down to "Yes - Wipe Cache" and press power.

Scroll down to "advanced" and press power.

Scroll down to "Wipe Dalvik Cache" and press power.

Scroll down to "Yes - Wipe Dalvik Cache" and press power.

Scroll down to "+++++Go Back+++++" and press power.

Scroll down to "install zip from sdcard" and press power.

Select either "choose zip from sdcard" or "choose zip from internal sdcard" (depending on where you've saved the file you are wanting to flash).

Browse to the ZIP file and press power to select it.

Scroll down to "Yes - Install .zip" and press power.

Scroll down to "+++++Go Back+++++" and press power.

Verify “reboot system now" is highlighted and press power.
Your phone will now reboot). This reboot take slightly longer than usual. Depending on the kernel you are using there may or may not be a boot animation, please be patient while your phone reboots.
After your phone has fully booted you may see a message saying "Android is upgrading. Optimizing application ## of ###" Where ## is the app number it is currently optimizing and ### is the total number of apps you have on your phone.

Congratulations! You have successfully flashed a ZIP!

If you have additional questions or would like to discuss these methods further please visit the Rwilco12 Android Forums.