I've been at companies where there were different opinions on either.
*IF* and only *IF* your company ***truly*** uses one single standard image (with the same/consistent core apps) then I believe it is okay to have your packaging machine to already have applications installed. If this is your environment, a clean machine will just take longer for apps to install, in fact, it may cause more potential DLL conflicts, than using a core build image that has already had the DLLs and versions sorted out...before you do a snapshot, etc...
If you are supporting more than one o/s and or a "finance" build and then a development build, etc - then you need the cleanest machine possible - to ensure you catch everything...