Jeffrey Snover just dropped this little gem into the "PowerShell: Creating Manageable Web Services" PDC session. Essentially there is an issue with the declarative nature of PowerShell's internals and how .NET Ngen's assemblies - which resulted in the core PowerShell assemblies not being Ngen'd - which as a side effect makes the PowerShell environment slow. By running this script you Ngen the assemblies and make PowerShell run much faster!
Set-Alias ngen @(
dir (join-path ${env:\windir} "Microsoft.NET\Framework") ngen.exe -recurse |
sort -descending lastwritetime
)[0].fullName
[appdomain]::currentdomain.getassemblies() | %{ngen $_.location}