I had a similair problem and tried everything just to find out that somehow my distributor got loose and just needed to be timed again after a slight adjustment.
Then i made sure it was not going to move again.
everything is fine again now with nothing replaced and no money spent.
might not be your problem but I would say check it out just in case.