'sz', 'cz' - those are equivalent to 'sh' (shop,shell) and 'ch' (chop, check)
'w' - it's a hard 'v' as in 'very', 'vary'. Always, no exceptions and never anything else, it's Ko-v-alski (Kowalski) and Le-v-ando-v-ski (Lewandowski). This is, I think, the most common mistake when reading polish names because english speakers often soften the 'w' to english 'w' as in 'when'/'why'
'Ł or ł' - that's the thing you think of when you see 'w' in english. It's the same sound as in 'when'/'why'/'when'. It's not a weird accent on 'L', for some reason we don't have 'v' in our alphabet and we moved 'v' sound to 'w' and 'w' sound to 'ł'
ó - it's called 'closed u', the same as normal, open u, pronounced as in 'put'/'dude'. The only difference between open and closed 'u' is in writing, none in speaking
y - a vowel, I don't think the sound exists in english but often 'yyyyyy...' in polish is used as 'ummmmm...' in english
ą, ć, ę, ń, ś, ź, ż - good luck ;)
One thing that makes polish a bit easier is that it's pronunciation is 98% consistent, you need to learn the sound of each letter or digraph once and it will never change so every polish person will pronounce even made-up words in the same way because there's only one way (you may write it incorrectly as in the open/closed u above, or ż/rz, but you will read it back correctly so just don't show anyone how you've written it :) )