There are a a couple factors at work here:
First, by using -exec, find is spawning a new process for grep for every file it finds.
This can be managed either by using xargs as in Felipe Alvarez's answer (I wrote a blog post about this 5+ years ago) or by using -exec grep param1 {} + (note the + instead of \;). When using +, "the command line is built by appending each selected file name at the end; the total number of invocations of the command will be much less than the number of matched files" (from find man page)
Second, the number and size of files under /var is potentially very large.
Can you add parameters in addition to -type f to limit the files you're searching. find has options to limit by time, owner, name pattern, etc. For example, you could do:
find /var -type f -name "access*log" -mtime -7 -exec grep param1 {} +
That will find files modified in the last seven days with names starting with "access" and ending with "log". Only those matching files will be part of the exec/grep.