Is one immoral just by virtue of having immoral thoughts? So for example if Joe really wants to steal from his neighbor, or in his heart he approves of the act of steaing for no reason, but didn't put that into action because he forgot or didn't have the chance. Is joe still "sinning"? He won't be punished for just having such thoughts but I don't see why in this case he is morally any better than an actual thief.

There's a strong case for saying that Joe really isn't any morally better than an actual thief. It's just fluke luck that separates Joe from Moe, who actually stole the neighbor's wallet a little later that day. Among others, you certainly have Kant on your side; Joe lacks what Kant calls a good will, and Kant though that a good will is the only thing that's truly good.

As for whether Joe is "sinning" by wanting to steal from his neighbor, having an impulse probably doesn't count as a "sin," though sin is not a notion that has much currency in contemporary ethical theory. Just how one ought to deal with such impulses is an interesting question. The obvious first answer is by resisting the temptation, and that's fine as far as it goes. Giving in to the temptation is wrong, even if lucky circumstance has it that the giving in doesn't end up going anywhere. If we want to use the word "sin," we might want to say that forming the intention to do wrong is already wrong, even if nothing comes of it.

But your first question was whether having immoral thoughts is enough to make a person immoral. If the question is whether on balance a person who sometimes has immoral thoughts is immoral, then saying yes will almost certainly entail that pretty much all of us are immoral. I don't find that to be a very helpful thought, though it's one that Pauline Christianity seems to embrace. It seems enough to say that we all fall short of the glory of fully-developed goodness, and some of us may even be unequivocally evil, but in spite of that, there are people who don't deserve to be called immoral, even though they aren't perfect. In short, there really are good people.

Read another response by Allen Stairs
Read another response about Ethics