There are many socially responsible investments around. For example, Christian Super avoids investment in companies that it deems are immoral, probably companies that distribute porn, support abortion, gambling, and so on.
I believe that even if you are an ethical person who is against gambling or porn, you should still buy stock in companies that supply these things. The reason why is because if you don't buy the stock, someone else will, and the other person who holds the stock may use the profits for sinful things.
For example, Altria Group (suppliers of cigarettes) is considered one of the most immoral companies of all. However, current Fed Chairman Ben Bernanke holds nothing but stocks in Altria Group. I happen to know a friend who is an investment banker who claims to have met Bernanke, and Ben is apparently quite an arrogant jerk. Bernanke may be attracted to Altria stocks because all the ethical investors are not. If ethical investors stay away from the stock, it becomes underpriced, which means evil people like Bernanke can buy the stock for cheap and make huge profits. If you truly were ethical what I believe you should do is buy as much Altria stock as possible and whenever the company pays you dividends, use that money to donate to anti-smoking groups like the American Legacy Foundation.
This approach provides a natural hedge. As Altria becomes more successful in getting people to smoke, its profits increase, shareholders make more money, and more money goes towards anti-smoking groups that try to stop people from smoking.
Update: I heard Bernanke sold his Altria stocks and no longer holds any.