The best thing to do initially is have your vehicle scanned to pinpoint the problem. It just doesn't make sense to go into it blindly and just replace part after part, until you figure out the problem. It's time-consuming and can be costly. It is better to take your vehicle to a reputable repair facility, that has the proper equipment to diagnose your vehicle. Not only is the proper equipment necessary, but the person running the equipment needs to be educated enough to be able to understand what the equipment is saying. You (hypothetically) could have the best equipment in the world, but if you don't know or understand what it is telling you... Then what's the point? Like the saying goes... "Gotta be smarter than what you're working on." (hypothetically, of course).
Cut through the chase, spend the money having it diagnosed "properly." When the problem is found, either have them fix it or do it yourself. You won't be wasting a bunch of money on parts that you don't (didn't) need. Not to mention the time you would save also.
Unless of course you like wasting time and money or like "wild goose chases?" The technology is there... Use it to your and your wallet's advantage. With the computerized vehicles of today, it's nearly impossible to diagnose complex problems without the proper equipment and someone that knows and understands how to use it. Symptoms can be many and trigger other symptoms too. But there's usually one initial underlying problem that causes it all. Find the initial problem first and then get the part and fix it. Best of luck to you.