I am a native Japanese speaker so I think I have been properly differentiating these two words unconsciously, but I couldn't really articulate what makes them different, so I looked up. Here I briefly summarize the article cited below.
The difference between 得意 and 上手 can be illuminated most when you translate into Japanese the following sentence: "This novel is well written."
While the former is perfectly natural, the latter is simply wrong. This is contrasting with the sentence from the OP. The question is, why the difference?
It appears that 得意 is used to describe the (good) skills to do/produce something, while 上手 is used to describe the results of the (good) skills put to use. In the example above, the former sounds natural since the novel is a product of the writer's skill. On the other hand, the latter does not make sense since the novel itself is not a skill; it's a product of a good skill. Perhaps, a similar reasoning leads a somewhat rigid Japanese language teacher to think that 私はパソコンが上手だ to be technically wrong, since a personal computer is not a product of skill itself.
However, I find it's totally natural to hear that sentence myself. After all, many Americans say "I don't have no money." While it's grammatically incorrect, it sounds natural and accepted to a certain group of people, right? :P
Seriously, in a way, 私はパソコンが上手だ is perfectly natural since you could argue that here it's totally expected that パソコン means パソコン（を使うこと）, and a variety of skills can lead to using a computer well, such as drawing on Photoshop, programming games, making music, using Excel, etc. So the reason why we feel the usage is natural could be because our notion of using computer has changed. Computer can do a lot of things, and we attach a lot of different meanings to (using) computer. Just my feeble thought...