Here is my ha'porth, for the record.
It is no excuse to say that your religion requires you to discriminate against gays. We would not tolerate the same argument to justify discrimination against people on grounds of race.
Nor is it a defence for the churches to say that it is OK for them to discriminate because there is another agency that does not. As somebody said, it is like telling Rosa Parks that she should get off the seats-for-whites-only bus and wait for the fully integrated bus coming along behind.
This is not mainly a point about public services and public funding. As Evan Harris MP points out, there is a problem with contracting public services out to "third sector" organisations if they then expect to be able to impose their prejudices on how those services are delivered. But even if the churches were delivering these services at their own expense, they should not be allowed to discriminate against blacks, gays or anybody else.
Frankly, I'm amazed that this is even a matter of public debate.