The 3GB switch will not enable more usable RAM in XP Home/Pro. It will enable applications that operate in user-mode memory to use 3GB of RAM, while restricting the kernel and kernel mode applications/drivers to 1GB of RAM. The application has to support addressing more than 2GB of user-mode RAM, most don't so it's not really a worthwhile setting for non-server/workstation users.
With a single PCI-Express video card, and service pack 2 installed, you cannot exceed 3.5GB of usable RAM on 32bit versions of XP. If you have an SLI setup, that can lower the amount of usable RAM down below 3GB depending on the framebuffer size of each card. On some Pre-SP2 systems you can get most of the 4GB by using the /PAE switch in the boot.ini file. By default SP2 uses /PAE, but there was a change in the way memory is handled so even with /PAE on, you can never exceed 3.5GB of total usable RAM in XP 32bit.
If you're using a PCI video card with something like 4MB of video RAM and you have no other devices with ROMs (like a NIC with PXE, or a SCSI card), then you could get very close to having 4GB of usable memory. This is a limitation Microsoft imposed on Windows XP 32bit. They resolved this issue on 32bit versions of Windows 2003 Server with the release of SP1, and since Windows Server 2003 is derived from Windows XP, Microsoft could very well add the same enhancement to XP, but they won't.
If you have a PCI Express/AGP card with a lot of video memory and want to get the most out of your 4GB in XP Home/Pro, your motherboard's BIOS will need an option for PCI memory overlap or a hardware/software memory hole. This will ensure you can use up to 3.5GB of RAM in 32bit versions of Windows XP, but you will never get more than that, unless Microsoft releases the patch to handle memory the way 32bit versions of Server 2003 do.