Depends how much money you want to exchnage.
The best exchange rate would be at a kantor - forex exchange booth; just make sure you compare the exchange rates between booths, these can be bad if close to major tourist attractions. And if you want to exchange a lot (>1000 euro), you can get a special rate.
However, I suspect you don't want to travel with wads of cash on you, so what you can also do is open a bank account in Poland and set up an associated extra EUR subaccount (in many banks it's free of charge). Next, send the money from your current bank via SEPA (make sure it's SEPA and not SWIFT, SEPA is by far the cheapest option; and check the cost beforehand). Once it's on your Polish EUR account, you could transfer it directly to your PLN subaccount, but I wouldn't recommend that, since the rate is not very good.
Instead, you can use an online kantor , such as http://www.walutomat.pl . Basically it's a marketplace where you exchange money with people who want to do the reverse exchange (well, an anonymous exchange of course). The rate is pretty good. But since walutomat is just a regular company and not a bank, it's always safer to exchange in batches (1000 PLN seems a good compromise between safety and costs).