performance wise GTX470 is better. if you don't really case about power, heat and noise then GTX470 is for you. GTX460 need to be overclocked to perform like stock GTX470. other than the two you might be interested in GTX560 which is a bit faster than GTX470 but much cooler, quieter and use less power.
^ yeah, imo 470 is an awful card, produces too much heat, consumes too much power, makes too much noise and is pretty expensive, go with EVGA or some 560, both are cooler/quieter etc.
Yeah i been looking and im going to go for the Gigabyte GFX 560 ti superclocked its only a little more then a vanilla 560