Then there are ones that break the pattern, notably the Achaemenids and the Qajars, off the top of my head. Also why are so many called the -ids?
The -id ending is from Greek -ιδης (-ides), which denotes 'son of', and by extension 'descendant of'. Therefore Sassanid means the descendants of Sassan (the founder of the dynasty); Samanid, descendants of Saman, etc.
As for the sa- element of the names, I'm not sure. I think it could be an indo-iranian prefix meaning 'good' or 'well', but I'm not certain about that since indo-iranian linguistics isn't my field of expertise.