The fact, as reported by Parallels themselves on this board many times during beta, is to give it the MINIMUM necessary to get good performance. For some people's application workloads, that will be 512M, for others that will be 1M, and for others it will be 256M. Ultimately it depends specifically on what your running and doing concurrently. So the only way to find the optimum for your situation is a bit of trial and error.
Giving a VM a lot of memory is the WORST possible thing you can do, IF that memory is not actually needed by the VM. Because the VM ultimately is managed by OSX, any memory allocated to the VM but not used by the VM is memory that is wasted since this memory is physical RAM that is committed to the VM and thus can't be used by OSX for other needs -- inclouding servicing the VMs requests. The usual culprit with poor performing VMs on machines with adequate RAM is overallocating RAM to the VM.
As for XP, unless you are truly doing something very memory intestive (major photoshop or compiling large projects, etc) 1G will be overkill in almost every instance. The fact is the XP has never been terribly efficient with memory beyond 768M, except in a few specific instances where a single application is in fact allocating and managing that memory.