Although it isn't possible as Gail has said with zero downtime I have done this using mirroring and I managed to complete the process extremely quickly.
What I did was:
1. Decide which server was going to host the mirror and change the connection string for the application servers to include the failover server.
2. Establish the mirror using high safety. The switchover itself would ensure zero data loss but I am a believer in high safety.
3. Perform the switchover, preferrably during a time of minimal usage on the server is possible.
There was a point for a few seconds whereby the users could not connect but it was not significant enough to cause any problems.
I would recommend though:
1. Ensure you perform the switchover at a time whereby no long running queries are active
2. Try to choose a time where the minimum connections to the database are established
3. Warn your users that there will a minimum of disruption for a short period of time.
Good luck with the move!
PS: This was done on 2005