I've used my Freedom 2000 keychain GPS walking around (hiking, in shopping centers) and have found it to work perfectly...haven't been in between very tall buildings, though.
Nothing will be perfect in the city. There is a lot of signal bouncing and obscured sky to deal with. An external puck like what John Clark posted will help a lot though. My 8310 with internal GPS can at times take a little longer then I would like to pick up the satellites.