All modules will work fine with use lib.
The only thing use lib does is add directories to @INC. It doesn't matter to the module whether it is in one of the "standard" library directories or in a library directory that is specific to your script.
The real question is which modules can simply be 'installed' by copying over the .pm files, and which require actually being compiled on the machine in question.
Some modules use AutoSplit, and so have .al files, in addition to the .pm files. Some modules have XS components and need to be built with a C compiler, and the binary .so (or whatever) files from one machine may not be compatible with another machine. There are other factors that could make it necessary to build and install the module the regular way.
Fortunately, it's ridiculously simple to install a module, in the standard way, into any directory you want:
perl Makefile.PL PREFIX=/path/to/my/lib/directory
You could even set up a CGI script to do it!