Ok, this may sound crazy, but I got several for my kids at Walgreens. They were on the clearance end cap for $3.99. Very thick material, great 100spf protection and actually looked great. Was very surprised and ended up buying 4 I think.
UnderArmor or "compression" type athletic shirts work great as swim shirts too! I know that Target had long sleeve versions for $9.99 with a 20 or 50 spf just yesterday - new shipment. Try a Target, Academy or other sport store. Just look for a good spf on the shirt - some don't indicate any sun protection.