In your sentence, the correct form is "has been," because your main verb ("is") is in the present tense. If the sentence were in past tense, you would say "had been":
"John WAS soaking wet because he HAD been walking in the rain."
"John IS soaking wet because he HAS been walking in the rain."