It really is never too old to spay a cat, unless there is some health concern already in a senior cat. But otherwise any age is fine. It can be done as young as 8 weeks but some vets won't do it yet until 6 months. Cats can become pregnant as young as 4 months so there really is no reason to wait.
As far as pain goes, the cat is put out while the procedure is being done. They don't feel anything. Most vets let you come pick the cat up the same day you drop it off. The cat will be lazy for a day or two recovering. Then they will be back to normal. I have never had to use pain meds or a special collar or anything but you just want to make sure the female doesn't lick at the stitches and the male doesn't lick (down there).
Females will have a small incision down their belly. It might get a little puffy in the center, but it will go away in a few day and either the stitches wil dissolve away or you will bring the cat back in to have the stitches removed.