That's … cumbersome. (It is! Honestly!)
1. You might have used the regular search & replace. (Unless you did need one of the more advanced GREP-only functions to do more — you don't mention it, though, so I think you didn't need to.)
2. The parentheses are 'special' inside GREP. They “mark” a group, and do not take part in the searching/replacing. This is an important feature of GREP — perhaps you replaced a few “Swim4life” without parentheses as well, as these will also have been found!
3. Heh — and in the third round, you could also have used regular search & replace to remove those parentheses … You certainly didn't have to replace them with a space — you can also search for something and replace with nothing.
The proper way to search for parentheses in a GREP expression is to un-make them special. As it happens, putting them inside square brackets is a way (and you could even have removed both open and close at once, using “[()]” — a sidenote), but the recommended way to search for a character that's normally “special” is to precede it with a backslash. That's the magic marker you were looking for. So
(Swim4life)
would have found only the phrases including their parentheses.
(Edit because the lil' backslash gremlin ate my backslashes! I'll feed him a few more, just to humour him: and a 6th, for good measure: )