I just got an 89 pickup. It was doing basically the same thing.
Here's what I did, now some of this was because I just got it, not to
chase down the problem. I did plugs, wires, cap, rotor, timing as far
as the engine goes...also fuel filter. I did a bunch of other stuff,
all fluids etc, but I doubt that would do what you're describing.
Also, before you do anything else, is it throwing any codes? The
cheapest thing to try first is to check the timing, make sure you
unplug the timing connector first, mine is near the underhood relays,
brown wire with a clip, but it's on a 454, not sure if yours is the