Check your TPS sensor. I've posted about how to test it before. I've had similar problems and it ended up being the TPS. It can also be other things, but it doesn't hurt to check. If you're looking to take it to a shop, I'd recommend Jackson Auto Sport or Speed factor.