DOHC has a major marketing advantage :-/
With a valve train (camshaft, lifters, pushrods (if present) rockers, valves and springs) there is an advantage to light weight. A valve will be opening 1500 times a minute (25 times a second) at highway cruising speeds (3000 RPM). If the valvetrain weighs a lot, when the camshaft lifts it, it will just keep on going up until the spring finally catches it. That could be a lot of looseness. It's called valve float. You can combat that with stronger (and heavier) springs, but the extra weight compounds the problem and the extra pressure from the stronger spring increases wear and power requirements to open the valve.
So a good way to fix this is to lower the weight of the valve train. With a camshaft sitting above the valve, all you have is some sort of lash adjuster (aka lifter) riding on the cam and the lifter rides on the valve. Minimal weight. If all the valves are in line, like on an EEK or even a conventional Detroit V8, one cam will open and close the valves quite well.
But, if you open a 2.2, you'll see that there are actually rockers in there. This adds inertia to the valvetrain, but the payoff here is that the camshaft and its drive sprocket can be lower in the engine, by a few inches, which is advantageous for packaging reasons. And anyway, it's not like the 2.2/2.5s are real screamers. A pushrod engine would have been fine in this application, but since it was an all-new engine anyway, they went OHC.
You can actuate four valves per cylinder (or three, like Mercedes-Benz) with one camshaft by using rocker arms to open one set or both, depends on how you want to do it.
As for DOHC, again, there is an advantage in weight, at an extra cost, both financially and in complexity. It costs more to grind two camshafts than one and it takes more stuff to drive two cams than one. Otherwise, it's much like SOHC.
Putting the cam in the block and actuating the valves, through rockers, with pushrods works quite well, too. Until recently, every Detroit V8 did it. So did British Leyland engines in Minis and MGs. Even BMWs in the fifties. The main advantage is that, especially in a V engine, there's only one camshaft. Also, the camshaft drive is a lot shorter which gives better accuracy in timing. Chevrolet is sticking with the pushrod engine because they also tend to be smaller. There's no camshaft up above and no cam sprocket. On a V engine, that makes it both lower and narrower. It also tends to be lighter.
Another reason is that engineers tend to stick with the tried and true. If you look at a flat-head engine, the camshaft is in the same place as it is in a pushrod engine. All they had to do, theoretically, was put a new head with rockers on the flathead engine. Kind of the way Zora Arkus-Duntov did with the Ardun heads for the Ford flathead V8. You can also use the camshaft as an auxillary drive shaft inside the engine to run the distributer, oil pump and if present, the fuel pump, just like the EEK engines use a countershaft to do this.
There is a big disadvantage with a pushrod engine, and that's valvetrain inertia. Everything else being equal, the valves will float at a lower RPM, but for street driving, even extra-legal street driving, that's not a concern. Remember, Roger Penske's car won the Indy 500 a few years ago with a pushrod engine, everybody else had DOHC.
You can have four valves per cylinder with a pushrod (cam in block) engine, you just have to get fancy with the rockers and pushrods. I remember seeing pictures of that, but I can't remember who's engine it was. Bristol, maybe? If you look at a Chrysler Hemi or even a Poly engine, you'll see some pretty fancy pushrodding going on, too.
OHC can be simpler, especially with an inline engine. You just use a longer belt or chain to drive the camshaft and skip the pushrods. On a V engine, you wind up with quite a bit more complexity.
And it costs a LOT to design and certify a completely new engine. And in the end, it's marketing and cost that drives the design.