First, as the others mentioned, make sure there's not a deligitimate reason for the slowness (bad query optimization, not setting the "Columns" to return only necessary data, not caching right, etc).
To answer the question on how to 'preheat' a site, one of two ways we have used with systems that were slow because of external resources not being provided fast enough.
- use the smart search index "Web crawler" set on a scheduled task to crawl the pages, although usually you set something like a full day cache and run this once.
- If it's a small set of pages you want high priority heat on, setting up a pinging service on these pages can have them continually 'hit' and thus rendered and cached.