This type of water leak seems to be a common problem on later model XJ's...here's what I did to fix it on my '98.
The first culprit I suspected was the plastic air intake that located under the windshield cowl. You have to remove your wipers, and remove the cowl cover. The intake is underneath some sheetmetal, that obviously prevents water from pouring straight in. I cut the sheet metal away just above the intake. Once I had a hole large enough for my hand to fit in, I simply applied some sealant around the plastic cowl intake, where the foam seal is to seal it off. I then used some plastic sheet to make a "patch" over the hole I cut in the sheet metal. Seal it up with silicon, and you'll be fine.
Unfornately, this wasn't the cause of my leak, but it was good preventative maintenance since I figured the foam seal around the cowl intake won't hold up over time much longer.
This led me to then next possible area for leak, and that one being the foam seal where the blower pokes through the firewall on the passenger side. Pop your hood an take a look at where I mean.....that is an easier fix. You might have to move some piece of emmissions equipment that sort of blocks your access to the foam sealed area, but its only a couple of bolts, and you can lay it aside. Once you have clear access to the blower seal, just apply some silicon all around where the blower meets the fire wall to seal it up, and seal up the foam really well.
Also, there is a wire loom that runs along the fire wall above the blower, that splits off towards the fender, and then runs down towards the engine. In my case, water was dripping off that wire loom and dripping straight into the blower area. That was the source of my leak. Take a look at yours, I bet it's doing the same thing. Just zip tie that wire loom aside, so that it no longer overhangs above the blower.
I haven't had a leak since...