As long as all of your solenoids are being fed from the same tank and regulator (if used), the force from all setups will be identical.
Looking at your options:
(1 solenoid, 4 cylinders):
This is the simplest setup electrically and programmatically. The cylinders may move a little bit slower, but I doubt it will be noticeable (you are already pulling all of the air through a single regulator).
You will need 3 t-fittings per cylinder end (6 if they are double-acting). I would go for one t-fitting with each end feeding another t-fitting which feeds 2 cylinders (balancing your architecture makes things cleaner).
This setup also guarantees all cylinders get the same pressure at the same time (electrical or programming issues cannot impact only some cylinders).
All tubing downstream of a solenoid is depressurized when the solenoid operates. This means that having lots of tubing between the solenoid and the cylinder leads to higher air usage. Not a problem if you are only operating a couple of times, but adds up if you move things a lot.
(2 solenoids, each with 2 cylinders):
This is really a compromise between setups 1 and 3. It doesn’t really give you any big benefits.
The biggest reason to use this would be packaging. If you have 2 closely-spaced cylinders on each side of the robot, this lets you keep your tubing lengths between solenoid and cylinder quite a bit shorter.
A programming, electrical or component failure (solenoid fails, isn’t plugged in, wire breaks, etc) can lead to only 2 of your cylinders moving. If this will break parts of your robot, this might be a bad design…
(4 solenoids, each with 1 cylinder);
This may give you the shortest tubing between each solenoid and cylinder.
It requires the most electrical and programming work.
If actuating only some of the cylinders and not others will bend or break your robot, this might cause problems…