The main differences are the features. The core i3s have none. Except some have an integrated GPU on the actual CPU chip.
The i5s have turbo boost which increases the speed of cores that are being heavily used and decreasing the speed of unused cores providing better performance in single threaded tasks.
The i7 has this but is also has hyperthreading which makes each core appear as two virtual cores. Each core will handle two threads efficiently resulting in better multi-threading performance.
These are the feature differences. As for the actual architectural differences that result in better performance per clock I do not know and am curious myself.
The single biggest improvement is going to a "native" (AMD's word) quad core chip. Among other things, this allowed Intel to move the memory controller onto the CPU on the Core i chips and greatly improved the communication between cores.