If you're running an app thats designed to run only on a single core CPU, and you think you'll get the whole 3G performance, you won't because some of the CPUs computing power will be being used to run the OP/SYS and background tasks, but even with the dual core clocked lower at 2G, in the same situation the primary core can address the app, while the secondary core handles all background tasks or vice versa.
You can always OC the dual core anyway, but without OCing it you'll probably still see better overall performance with the dual core because you're actually running 2 CPUs at 2G, in this day and time even dual cores are beginning to fall behind and it will get worse as software designers target more multiple core releases.
Without anymore information as to the exact CPUs you're talking about, and their own possible OCing capabilities, I 'd have to suggest getting the dual core.