When using 「は」 it means the word before it is the topic of the sentence, it also implies contrast. (e.g. 「私は犬です」 means, "As for me, I am a dog" This means that I'm not a cat.)
When using 「が」 it means the word before it is a subject, it is picked out of several possibilities that may also work. (e.g. 「私が犬です」 means, "I am the one who is the dog" This means that I am the dog who is being looked for, or picked out of other creatures who might be dogs, depending on context)
These are the nuances of the particles that I'm aware of (Please post others, as I'd really like to learn as much about them as possible).
「です」 is shortened from 「である」, if it was theoretically natural to say 「ある」 and move the 「で」 to the beginning of the sentence to say a noun is also another noun, (e.g. 「犬で私はある。」 has the exact same meaning as my first example, except it is more polite and usually used in writing) what nuances would 「犬で」 carry?