Mkay, you have a toughie. The vehicle may have mor ethan one problem, and given all the parts and the number of mechanics that have prodded it, it likely now has at least one more problem than it started out with. This is going to be tough.
But first things first.
If it truly does not crank, i.e. go whir-whir-whir, some of the time, you should work on that first. Because, two, or three reasons:
(1) The starter circuit is VERY simple on most vehicles. A switch, a relay, a wire, and a starter solenoid/heavy duty relay, and a motor. This system can be debugged step by step, with a voltmeter. First you put the voltmeter on the wire from the ignition switch to the first relay. That wire has to go hot each and every time you turn the switch. If it doesn’t, the switch is intermittent and needs cleaning or contact bending or preferably, replacement. Do not replace anything else downstream from here, it won’t help.
(2) Same thing with the next item, the sometimes present small starter relay. If it gets juice from the ignition switch, it had better be putting out juice to the starter solenoid, every time. If not, it needs attention. Do not replace anything else downstream from here, it won’t help.
(3) Then you have to check for juice getting to the starter. There should always be 12 volts on the big thick wire from the battery, and juice on the thin wire when you turn the ignition switch to start. Do not replace anything else downstream from here, it won’t help.
(4) Once you have, every time, juice on the thick and the thin wires on the starter, it had better whirr. If not, you need to unstick the starter solenoid or replace it. Do not replace anything else downstream from here, except maybe the whole starter, if the solenoid isn’t separately available, that won’t help.
Okay now that we have reliable starter whirring, we can go on to the next possible problem, the fuel pump and ignition juice. The ignition switch has to reliably supply juice for these. Again with the voltmeter, check that when the switch is moved to ON, the switch reliabily turns on juice full time to the fuel pump relay and the ignition module. Nothing is ever going to work if this isn’t reliable. Work on this until you’re happy with it reliably powering up.
Now for the starting problem. Having to put your hand over the intake means you’re getting too much air, or too little gas. So it’s a problem in the fuel or air systems. Either you have an air leak, or the injectors are not putting out the somewhat enriched amount needed to start things up. An air leak you can find, with the engine running, by using Eric’s methods. Either spray water or brake cleaner all over the place. Don’t change anything else until you’re sure there are no air leaks.
If there are no air leaks, you have to delve in to the more mushier area of fuel mixture. If 6 to 8 guys have poked at it, you now may have more problems, like the wrong ECU, or wrong program in the ECU, or bad MAF or bad idle valve, or bad sensors. I would start over with a methodical step by step checking of things like the MAF tests, air temp sensor test, coolant temp sensor test. Do not replace anything else downstream from here, it won’t help. Use an ohmmeter to check out those parts. Take it slow and easy and methodically. A whole lot of mechanics have some Inca blood, they are prone to throw virgin parts at an engine and they never realize that’s not a very efficient way of making the crops grow. Slow and easy and methodical wins the race. End of lecture.