"János is a smart and able boy, but Péter is stupid!"
Translation:János okos és ügyes fiú, de Péter hülye!
That is okay. You could also say "de Péter egy hülye" but that wouldn't match the English sentence anymore.
Not really. That would relate to an "and" in the English sentence, instead of the "but".
It sounds good. At the least it would be a better translation for "able". Ügyes is more along the lines of "dexterous" or "skilful". (What, in British English "skillful" has just a single l? Jeesh.)