This old house is (50's) is wired with cloth covered 12/2 Romex with no ground and all metal boxes. Can I just run a 12 ga or 14 ga solid wire between boxes and then to the ground bus of my service panel or do I have to replace all the wiring with new Romex?
The rules on retrofitting grounds were greatly relaxed with the 2014 electrical code (NEC 2014). Yes, now you can simply run bare or green wire between all your electrical boxes and back to the panel.
The ground wires can follow any feasible route, they don't need to travel with the conductors.
The ground wire must go back to the same panel as the conductors come out of (that's relevant if you have more than one panel).
The ground wires MUST be thick enough (generally as thick as the conductors) and can be thicker -- for instance a 12 AWG ground wire is not acceptable for a 10 AWG/30A dryer circuit, but it is acceptable for a 14 AWG/15A outlet circuit.
Here's the whopper: Multiple circuits can share grounds. You don't have to home-run the ground all the way back to the panel, you need only reach another grounded point whose pathway is thick enough. So you can daisy-chain your grounds from box to box, as long as all the circuits you are grounding come out of the same panel. Or, your 10 or 6 AWG ground to your range or dryer can be a "backbone" providing grounds to many other receptacles.
All ground splices must be done with the same rules as any other splices: inside a junction box or using some sort of splice listed for use outside of a box.
For details, see the National Electric Code, NFPA 70 (2014) Article 250 — Grounding and Bonding. (NFPA now offers free access online to its codes and standards.)
I believe that it MAY be code-accepted to retrofit a grounding conductor as you describe. It would need to follow the same path as the existing wire. Check with your LOCAL electrical inspector before taking that on faith, though. Depending just how ungrounded your system is, you may also need to install a ground rod (or two, or three) so that your service panel ground bus is actually tied to ground.
Considering what will have to be done to retrofit this wire, I believe that the sensible approach is new wiring (if you were going to rip things that far apart), or GFCI's and the old wiring with code-approved labeling noting the lack of ground on those circuits (if you were not going to rip things that far apart).
The relevant code section may be 250.130 with more detail in 250.130(C) on simply adding a ground wire to two prong outlets. I found this in the draft code here https://www.nfpa.org/assets/files/aboutthecodes/70/70-a2013-ropdraft.pdf
I'm assuming that it's the same in the final code. The gist of it is this:
(C) Nongrounding Receptacle Replacement or Branch Circuit Extensions. The equipment grounding conductor of a grounding-type receptacle or a branch-circuit extension shall be permitted to be connected to any of the following:
(1) Any accessible point on the grounding electrode system as described in 250.50
(2) Any accessible point on the grounding electrode conductor
(3) The equipment grounding terminal bar within the en-closure where the branch circuit for the receptacle or branch circuit originates
(4) To an equipment grounding conductor that is part of another branch circuit that originates from the enclosure where the branch circuit for the receptacle or branch circuit originates[ROP 5–209]
(5) For grounded systems, the grounded service conductor within the service equipment enclosure
(6) For ungrounded systems, the grounding terminal bar within the service equipment enclosure