Penny is a better player. He can shoot, pass and defend. Joe Johnson will be a good player one day, and is already started to show it but Penny is the right choice. He won't be the player he was in Orlando and we know that but he is still a good 2 guard.
It is time for Joe Johnson to develop his game and get the bulk of the minutes at SG. 1. Penny is not reliable because of his health and he would be holding back JJ from gaining confidence as a starter and improving his game. 2. Penny would be an ideal 6th man because he can create his own shot. He could also play some minutes at PG to relieve Marbury. He could provide a scoring spark off the bench if the Suns are struggling, but as a starter he would be taking shots away from Marbury, Marion, and Stoudemire.