3 years is way too short. The stress problem takes time to develop, because some of the dwarves who see dead bodies will get permanent negative personality changes months later, and then those permanent personality changes will cause them to gradually get more and more unhappy in response to trivial stressors, but that process can take a few years. Plus, each new siege will doom a bunch more dwarves. Plus, it takes years for unmeetable needs to get into the red, but once a dwarf has a need that's been unmet a really long time, that's a hefty negative thought that recurs over and over and over again.
Suggestions (many of these have already been made, but I'll second them):
1) Comparatively trivial things like getting rained on, going out into the sun after becoming cave-adapted, drinking stagnant or otherwise nasty water, getting caught in miasma, and having one's 257th masterwork sock accidentally dropped down the magma chute, should cause unhappy thoughts, but should not cause permanent personality changes.
Right now, I see trauma from silly things like that vastly more often than I see it from genuine tragedies: I have dwarves whose entire families have died in horrific ways, sometimes right before their eyes, but the traumatic incidents that stick with them are the times when they had to go out into the rain or the sun, and that one time some spoiled food stunk up the dining room. The memory system could be really cool if it was mainly about personality changes as a result of, e.g., the death of a loved one, but right now it mostly just seems silly.
At the very least, the more trivial things should have a miniscule risk of causing permanent personality changes, which then decreases the more times it has happened, as dwarves get used to the experience.
As a side-note, I think major personality changes just happen too often, in *both* directions, in a way that trivializes them and undermines the whole concept of a personality trait. After 10 years in a fortress, there are a bunch of extreme personality traits that were originally quite rare that are now really common, because so many dwarves have had experiences which gave them those traits. And while I used to try to get a sense of what my dwarves were like psychologically, that is undermined by the fact that they invariably end up with completely different personalities 10 years later. I think it would be better to have personality changes happen more rarely, so that you could expect to see it happen only a few times in a full lifetime. Alternately, you could make it so that most personality shifts move a dwarf only slightly--say, 5 points on the personality scale--rather than drastically (but also making it such that these changes could affect the same personality trait multiple times).
2) Make it so dwarves get special happy thoughts from eating their favorite food, but DON'T get unhappy if they haven't had their favorite food in a long time. It's incredibly annoying to have some dwarf whose major source of stress is not getting to eat a food that's literally unobtainable. Bear in mind that they get more and more upset about this with each passing year! Instead, make it so that lavish meals are enough to satisfy their desire for a "decent meal." This seems both less frustrating and more realistic.
3) Currently, dwarves become desensitized to death after seeing lots of sentients die, and once they're desensitized, they no longer get upset when seeing dead bodies. However, currently, seeing dead bodies alone doesn't produce desensitization: a dwarf who hasn't seen anyone actually die will be as upset at seeing their 100th dead body as at seeing their first. That doesn't make sense: dwarves should gradually get desensitized to seeing dead bodies once they've seen enough dead bodies.
4) Soldiers who value martial prowess should get powerful happy thoughts (including the chance of a permanent positive personality change) from participating in a successful siege defense or raid. There really should be some reward for having your soldiers fight the enemy hand-to-hand; right now, all the incentives are on the side of turtling up or using traps instead. This seems more realistic, plus, seeing your soldiers elated by their victory would feel really rewarding as a player.
5) Make it so a dwarf who likes (for example) zinc and chickens gets a stronger happy thought from seeing or owning a zinc statue, or a statue of a chicken, than they would get from any other statue of the same quality and value. Currently, dwarves seem to respond only to the quality of statues and engravings, not to their subject or material. This would be a nice way to reward players who like to pay attention to the individual personalities and preferences of their dwarves.
6) Fix the bug that causes some dwarves to get dozens of simultaneous negative thoughts about "vengeance" every time they join in a fight that's already going on.
7) Dwarves need to be better at seeking out the things that they need: they should prioritize going to the temple of the god they haven't prayed to in ages (rather than praying in the same temple over and over and over again while neglecting the other one), and they should actively seek out their friends and family members to talk to when they're lonely because they haven't talked to a friend or family member in a long time--and if they don't currently have any friends or family members, they should seek out their current favorite acquaintance (to help raise the chance of friendships forming).