Google’s free site search is better and easier to setup than anything you can host on your own server. However, the “branding” allowed doesn’t really go far enough. You want your search results to look like the rest of your site. And the search results URL should be on your server, not Google’s.
To solve this problem I have written a simple site search in PHP that uses the Google Search API behind the scenes to give you Google’s search, but your site’s look and feel.
Download PHP Google Site Search (165KB).