That is indeed the question :-)
Unfortunately it's not an easy thing to answer: figuring this is by far the biggest challenge in making a networked game, and there's no single answer that will apply to all games.
Some people use a single server, some use a peer-to-peer architecture, others use some kind of hybrid approach.
If you are new to game networking, you should probably start by comparing the client/server and peer-to-peer samples from this site, then once you understand how those work, look at the network prediction sample.
I also wrote a series of blog posts about game networking that you might find interesting:
http://blogs.msdn.com/shawnhar/archive/2007/12.aspxhttp://blogs.msdn.com/shawnhar/archive/2008/01.aspx(in particular my "Network object ownership" post is about exactly what you are asking here)
--
XNA Framework Developer
blog -
homepage