If you have a CNC mill you can use that as a grinder. Put a grindingwheel in the spindle and program a path it can go around. If it is a vertical mill, set the camshaft vertically. When working on a ship engine factory I saw an old setup that worked quite well. They milled the cams with dividing heads (not for small cams) then ground them by having a "floating" grinding wheel with a pneumatic cylinder to keep a uniform pressure. The grindingwheel then followed the profile, just as a cam follower.