Out of curiousity, I'd like to know why RPM's are, or at least some are, distro specific? That would be with the obvious exception of distro specific apps.
It usually has to do with different config file locations - something the LSB is working to resolve, or with different versions of shared libraries - in which case often times, it is often just a matter recompiling the src.rpm on the target distro.