So far I always used EasyGrep for replacing text in multiple files. Unfortunately it is quite slow when a project gets bigger. One thing that seems to be amazingly fast is G
Using quickfix-reflector.vim, you can edit your search results in the quickfix window. The write command will then save the changes to your files.
write
:copen :%s/foo/bar/cg :write