I didn't get a chance to respond to this thread last night, but I would like to re-iterate and maybe add a few things to what others have already said. We are using a 2 piston "catapult" and have had much luck; albeit after a lot of math and testing.
For starters,
What pistons are you using (bore and stroke)?
We use 1.5" bore, 8" stroke (2ea)
The idea of gravity return is your friend. Remove fittings and hosing from the return port - this will help the air escape the piston faster as you "shoot".
You may want to check some of your angles.
We start our "catapult" roughly 35(deg) below horizontal and have an angle of about 50(deg) above horizontal at full extension.
What we found was that the regulator was also a very constricted part of the system. We added accumulators after the 60psi (working pressure) regulator to store air that we would be dumping into the piston.
We are using the 12V Solenoids, and have one for each piston.
We have very short tubing runs from the accumulators to the solenoids and pistons.
You may want to look at force vectors. Our system keeps the pistons relatively vertical throughout the motion of travel. This is especially important when the arm is horizontal.
As others have said, test at the pressure you will be using on the field. We found that dropping the pressure to 55psi had a huge effect on the system's performance; we operate at 60psi.
I would caution that you match the weight as closely as possible to the real arm. From the hinge on, our arm weighs 6lbs. Switching the weight of the arm had a drastic effect on the characteristics of the shot. We experimented with a 4lb arm (more a proof of concept) and then a 5lb arm. We are still attempting to tweak the 5lb arm, but right now the 6lb arm is the most consistent and controlled.
Weight matters
We use a ratchet strap as a "hard" stop and angle adjustment on the system. We stop the pistons anywhere from 37 to 41 (deg) above horizontal. This also has a great effect on the ball's trajectory - we don't switch often.
Here is a screenshot from on of the early CAD models of our system. There isn't a huge difference between the the screenshot and the actual robot when it comes to the setup of the "catapult".
Let me know if you have any questions - or just want to bounce ideas off of me. Hopefully I didn't contradict too many people, but this is what is working for us.