Most commercial software that ran on 4.x either will run in BCP mode, or is available for Solaris 2.x, or is being ported now. Solaris 2.3 BCP mode finally supports statically-linked executables. Solaris 2.5 BCP mode supports mixed mode (part static, part dynamic) executables too.
Sun's web pages contain a searchable index of commercial software and a link to an outside contractor who gathers free and public domain programs. Sun's own software is also prominently featured at www.sun.com and also provides the freeware companion.
The easiest way to install public domain software is perhaps pkg-get from blastwave.
Some software that invariably needs minor tweaking after an OS upgrade is included here specially. It's almost always necessary to recompile it after an OS upgrade, but if that still doesn't give a working version, make sure you check the archives for the latest version:
SymbEL/SE performance monitor Top - a process monitor Site carrying the latest version of Top
Lsof - list open files
Identd - a daemon that implements RFC1413
scsiinfo - a program that lists SCSI devices.
sysinfo - a system hardware information program.
If you use gcc (versions prior to 2.8 or versions build on Solaris 2.4 and earlier), it is important to remember that you must re-run fixincludes or re-install gcc after an OS upgrade, or you'll be compiling with the old include files which will essentially give you the above programs as if compiled for a previous OS release.
/usr/sfw/bin/gcc which comes preinstalled in Solaris 10, should always have uptodate include files.