Follow all the above advice. However, you should be able to increase your track count by raising the number of buffers and increasing your latency. For mixing purposes, you should be able to live with 300 ms of latency or even higher.
As Track Rat said, the amount and type of plug-ins is also a very key factor. For ex., reverb tends to be very taxing on a system (and Waves RVerb is extremely taxing). In that situation, if you have multiple tracks using the same effect, you might want to look at running the plugins on an Aux Bus.
Also, how are you currently playing back your midi tracks? If you're using a DXi, you don't need to convert them to audio. They will mixdown as is.
As you suggested, submixing is also another workaround. You can do this and archive the individual tracks (make sure you archive and not just mute, as archived tracks don't use any CPU power). However, as everyone has already mentioned, your system should easily do more than 10 tracks. I have a 733 Mhz P3, and I can get close to 20 with a reasonable amount of plugins. I do, however, keep the latency setting relatively high.