What you basically need to do is raise the FSB / BCLK from default 133MHz to whatever you want, whilst keeping the memory at its rated frequency.
i3-530 (2.93GHz) = 133MHz(default FSB) x 22 (default CPU multipler). If you raise FSB to 166MHz, then you'll get a 3.65GHz CPU.
However, raising the FSB also raises the memory frequency. So you need to make sure that your memory can cope. You can do this by adjusting the memory multipliers (depends on your board but my old one had 6x, 8x & 10x (default) IIRC). Memory multiplier of 10 x 133 (default) = 1333Mhz. If you have a 1666MHz memory chip, you can raise it to 166 FSB x 10 (mem mult). If not, then you'll have to select the next lowest memory multipler, eg, 8 so you'll get 166x 8 = 1,328 MHz.
If you raise FSB to say 182MHz (x22), you'll get a 4GHz i3 - but then your memory will be overclocked and probably unstable - just move the memory multiplier down a notch again. If you have 1333MHz memory, you can use 6x and if you have 1666MHz, you can use 8x. Although this will result in slightly underclocked memory, you can compensate for that by lowering the CAS too (say from 9 to 8).
What you basically do is keep upping the FSB then check stability, then upp it some more, then check stability (Prime, etc), whilst making sure the memory stays roughly near or below its rated frequency. As you get past 3.6GHz, you may need to upp the CPU's VCore slightly. On my old i3-530, I could get it to 3.9GHz on stock voltage, and 4.2GHz with +0.1v. All CPU's are different though.
These might be of some use:-
http://www.bit-tech.net/hardware/cpus/2010/03/03/overclocking-intel-core-i3-530/1
http://www.overclockers.com/3-step-guide-overclock-core-i3-i5-i7/
Hope this helps.