As of this year there will be no "national" transfers, all transfer between EU banks will be SEPA transfers, thus priced equally regardless if both banks are in same country or not.
SEPA will create a payment market for all cashless euro payments, in
which there will no longer be a difference between national and
cross-border payments. From 1 February 2014, the current national
credit transfer and direct debit procedures will expire. Subsequently,
all payment service providers in the euro area will only be able to
settle payments using the new SEPA procedures.
Due some banks lagging behind, EU has extended deadline by 6 months, but most banks implement this already. Note, that the deadline is only for the format in which transfers are done, rather than charges.
If you're transferring Euros to account in Złotys, bank can apply currency conversion fee (usually fraction of percent, sometimes with some minimal fee) and convert it according to it's exchange rates which usually have significant spread (for example mBank has spread of 6%, thus effectively you're loosing 3% of value). Which bank will apply this depends on the currency you've selected while making the transfer. If you selected Euro, than conversion will be done by the receiving bank, if you selected PLN, then conversion is done by sending bank.
To avoid all these problems, the easiest remedy is to create (sub)account denominated in Euro in your Polish bank. Most, if not all, Polish banks have that option. You can then use 3rd party service to exchange EUR->PLN at much better rate. You can compare these 3rd party exchange services here: http://strefawalut.pl/ As you can see the spreads are significantly lower than in banks.