En 1997, Hernández a 5 victoires contre une seule défaite, 27 sauvetages et une moyenne de points mérités de 2,44 après 46 matchs pour les Sox. À la date limite des transactions le 31 juillet, Chicago échange Hernández, le lanceur partant gaucher Wilson Álvarez et le vétéran lanceur droitier Danny Darwin aux Giants de San Francisco contre les lanceurs droitiers Keith Foulke et Lorenzo Barceló, les gauchers Bob Howry et Ken Vining, l'arrêt-courtMike Caruso et le voltigeur des ligues mineures Brian Manning. La transaction est surnommée The White Flag Trade[4] (« l'échange du drapeau blanc ») et est fort mal reçu à Chicago[5]. Il survient alors que les White Sox sont en pleine course au championnat et le propriétaire de l'équipe, Jerry Reinsdorf, soulève l'ire des partisans en déclarant[5],[6],[7] : « Quiconque croit que les White Sox vont rattraper Cleveland est fou », alors que Chicago n'accuse que 3,5 matchs de retard sur l'équipe de première place[8].
Giants de San Francisco
Hernández termine la saison avec un sommet en carrière de 10 victoires, 3 défaites, 31 sauvetages et une moyenne de 2,45 points mérités accordés par partie. Avant de quitter les Giants, il joue en Série de division de la Ligue nationale contre les futurs gagnants de la Série mondiale 1997, les Marlins de la Floride, mais une mauvaise performance lui vaut une défaite dans le second match perdu 7-6[9].
Devil Rays de Tampa Bay
Devenu agent libre après quelques mois à San Francisco, Roberto Hernández est mis sous contrat par les Devil Rays de Tampa Bay, une nouvelle franchise qui fait son entrée dans le baseball majeur en 1998. Il y joue 3 ans, enregistrant 26, 43 et 32 sauvetages par saison. En 1999, il établit le record de sauvetages de la jeune franchise qui sera battu par les 45 victoires protégées par Rafael Soriano en 2010[10]. En date de 2012, Hernández détient cependant toujours le record de franchise pour le nombre de sauvetages (101) avec cette équipe, ainsi que pour le plus grand nombre de parties complétées au monticule (66) en une saison (1999) et en carrière avec les Rays (182 en 3 ans). En 1999, il reçoit sa deuxième et dernière invitation au match des étoiles et prend le 10e rang du vote pour le trophée Cy Young[11].
Royals de Kansas City
Le , Tampa Bay, Oakland et Kansas City procèdent à une transaction à 3 équipes impliquant 7 joueurs, dont Johnny Damon, et Hernández se retrouve chez les Royals. Le droitier y joue ses deux dernières années comme stoppeur d'une équipe, enregistrant 28 et 26 sauvetages en 2001 et 2002, respectivement. Mais sa moyenne de points mérités est chaque fois au-dessus de 4,00, ce qui n'avait été le cas que lors d'une seule saison complète (1998) jusque-là dans sa carrière.
Roberto Hernández a disputé 1010 parties dans le baseball majeur, dont 1007 comme lanceur de relève. Il compte 67 victoires contre 71 défaites et 326 sauvetages. Sa moyenne de points mérités s'élève à 3,45 avec 945 retraits sur des prises en 1071 manches et un tiers lancées. Plus de la moitié de ses parties jouées en carrière l'ont été dans l'uniforme des White Sox (345) ou des Devil Rays (207).