if it runs smooth in park or neutral then its most likely a timing/idle speed screw setup not quite right....put the e brake on then put the car in gear, then tighten the idle speed screw till its about 7-800 rpm, then if it still runs crappy, loosen the horseshoe that holds down the dist and advance or retard untill u get it running smooth, once it runs smooth u can adjust the idle speed screw to whatever u want, i dont have a tach but if i compare the sound to my friends car i'd say i idle at about 800-900 rpm, which is a little high for idle but when your in gear its actually quite nice. i find using stock idle speed causes the car to take too long to get from 0-? but using a faster idle uses up more gas at idle (i dont need to warm up the car, i just turn it on and go) it gets to speed quiker....but yea if this doesnt help then it could be either the cam or another part of the valvetrain. (since u said it runs good at idle then im pretty sure its the timing/idle screw) my car runs a bit rougher in park but when i put it in drive it sound smooth and sweet.