Check you hoses for crimps or leaks. Then check to make sure you're getting spark to all cylinders.
I had a crankcase vent tube crimp causing a bad idle. It was crimped at the rear of the motor, you had to follow the rubber tube to the back to find it. It starts out as ametal tube from the crancase, drivers side front, and goes into a rubber tube under the thermostat housing. Follow it from there. That could be your problem.