My son was doing the same thing at your sons age. He was putting his index and thumb in his mouth and was getting sores on his face because of all the wetness. Well, he is almost 3 1/2 and is completly broken of the habit.
What we did was we showed him the sores in the mirror and told him we were worried about his skin and did not want him to have boo boos. We explained to him why he was getting the sores. Then, we said that if we saw him put his hands in his mouth we would have to put medicine on them and he did not like this. (we would put on either neosporin or the minty Burtsbees chapstick). This helped.
Also, he had seen an advertisement that came in the mail for an octopus playdoh toy and he really wanted it. So he we made a chart and told him that after 5 days of not putting his hands in his mouth we could go to toys r us and get the toy. We made the chart together and put the picture of the toy on top of the chart. There were five good sized boxes on the chart, each representing a day. We hung it on the fridge and each time I saw him without his fingers in his mouth, I would give him a sticker and lots of praise and by the end of the day he would have about 6 to 10 stickers. I did not have any set amount that he had to get, the point was just to give him a lot of encouragement. If I saw him with his fingers in his mouth, I would remind him about the octopus and he would take them out. I normally don't bribe with toys, but I felt this was ok because of the chart and the positive reinforcement. Plus, nothing else was working and I thought this was worth a try. Anyway, he got the octopus and after he got it, he still put his fingers in his mouth, but he had cut way down and was really aware of when he did it. I would still give him reminders and two months later, the habit was gone for good.
I hope this helps, it is just an idea...