Cut the fish into 1/2- to 1-inch chunks. Place on a paper towel to dry and set aside.
Dice the onion and cut the bell peppers in chunks. Mince the garlic and ginger.
Drain the pineapple chunks, reserving the pineapple juice for the sauce.
In a small saucepan mix together the pineapple juice and cornstarch with a fork or whisk until smooth. Add the remaining sauce ingredients (ketchup, sherry, rice vinegar, soy sauce, and brown sugar) and heat over medium heat until it comes to a boil and thickens. Remove from heat and set aside.
Add 1 tablespoon peanut or vegetable oil to a large nonstick skillet and heat over medium heat. Add the garlic and ginger and cook for about 30 seconds, then add the onion and cook for 4 minutes, stirring occasionally. Add the bell peppers to the skillet and cook for 4 more minutes. Then add the pineapple chunks, increase the heat to medium-high, and cook for 3 minutes. Remove the skillet from the burner and transfer the mixture to a bowl.
Wipe the skillet out with a paper towel and place back on the burner over medium heat with the remaining tablespoon of peanut or vegetable oil. Pat the fish dry with a paper towel, sprinkle the fish with salt, and place in the skillet in a single layer. Cook for about 4 minutes on each side until cooked through. Remove the fish from the skillet and transfer to a plate.
Wipe the skillet out with a paper towel and place back on the burner over medium heat. Add the onion, pepper and pineapple mixture back to the skillet. Add the sweet and sour sauce and cook for a minute or two until heated through. Add the fish and mix gently to coat the fish with sauce but to avoid breaking up the fish pieces. Serve with rice.