It could be any number of things,.. but I would try some tests and some observations to eliminate some causes.
take the air filter off. Use a mirror to see, or reach you finger into each carb body to feel for the needle going up and down with the inner carb body when you lift them when you twist the throttle. There's a circlip that holds the needle position that can pop off (as piero said)
Get the bike running on the center stand. Twist the throttle. When the engine starts to break up pump the fuel bleeder. Did it help or hurt the running condition? (a test for fuel starvation) clogged fuel line, screeen, sticky float, etc...
Get the bike running on the centerstand. twist the throttle. Spray some carb cleaner at the OUTSIDE of the intake manifolds while the engine is running. (test for an air intake leakage) did it effect the engine ??
remove the primary cover and inspect the rotor/stator gap. pull the plugs out and spin the engine over by having someone else turn the back wheel while in 3rd gear. How's the rotor stator gap? consistant as it spins?? any burnt marks on the stator from the rotor rubbing it??
IF you have a kill switch on your handlebar cluster, clean it. If you have an old ignition key switch, think about straigth up replacing it OR hot wire around the switch to see if the switch is so old and corroded that it's 'blinking" out on you from vibrating while you ride..
... there's more,.. but that should get you started...