I spent a lot of time building a custom church website for The Chapel, which is where I work. I built the website using an extremely powerful and flexible framework called ProcessWire. If you're interested on why I chose ProcessWire over other frameworks, read my blog post.
The website for The Chapel is now open source and available for download on Github. The website comes with an event calendar system, blog, sermons section, staff page, stories section, serve section with serving forms, and a slick home page and basic page template. The site is responsive using the Bootstrap framework.
The open sourced website is available to preview by visiting http://church.markgoldsmith.me.
Some of the most useful features in this website is a Repeating Event Module that I created for ProcessWire. It allows you to duplicate a repeating event on a daily, weekly, bi-weekly or monthly basis with a few simple steps. This is great for church events that occur on a regular basis. The events section of the website also includes an iCal file download button.
If you are interested in using the source files for your church, you can just upload all the files from Github as is to your server, and then update the config.php file in the /site directory with your database credentials and HTTP hostname. Then use the church.sql file that's in the repository to import the dummy data and ProcessWire settings into your database. It should work out of the box, especially on an Apache server. If you need to make it work on IIS, contact me, because The Chapel site is running on IIS.
If you have any questions about this church website, please tweet me @markagoldsmith.