After trying lots of different things I found that Scotchbrite was the best thing to use on both. Just scrub like hell and they come up eventally.
Now, with the brake disks they will stay like that yes, so long as you clean the bike regularly and detail it properly with the correct detergents. They are stainless steel so should not go like that but as with everything if it is left with dirt, grime and salt on it, eventually it will give in!
Now the swing arm is a bit different. My guess is that it has some kind of coating on it to stop it corroding, because aluminium will corrode when left exposed to the elements. But, since it looked so badand was already corroding I decided to ignore this and Scotchbrite that too

! You will certainly have to keep on top of it though, however I have done this before with bikes and if you keep them clean it will last a pretty good amount of time. Even when it does begin to go, it is much easier to clean up again with Scotchbrite the next time.......first time takes a lot of effort

to get that coating and corrosion off.
Hope this helps!