I think the best i can expain it is that "soy" is to speak about what i'm ,like.
Soy gordo, flaco, profesor, mexicano, rico, pobre.
I'm fat, slim, a teacher, mexican, rich, poor.
On the other hand, "estoy" is used, when you're talking about how and where you are.
Estoy gordo, flaco, en México, feliz.
I'm fat, slim, in Mexico, thirsty.
You can use "soy" and "estoy" with fat and slim, because in both cases is what you are and how you are, but for teacher, well, what you are is a teacher, but it's not who you are neither where you are, Mexico is where and thirsty is how.
I think that most of feelings can be used with both, but have different meanings.
Soy feliz(correcto) (like i'm happy with my life)
Estoy feliz(correcto)(like i'm very happy at this moment) "Estoy" is for HOW you feel right now
Soy triste(correcto)
estoy triste(correcto)
Those are some example, but try to think "soy" is for "what" you are and "estoy" is for "how, where" you are and how do you feel.
Saludos.