Bloody good question! Lidl have one this week - they and Aldi often have them, but you just can't be sure when. Carrefour have a few, although not a very good choice. Corte Ingles have a few overpriced machines. We gave up trying to find a decent make (wanted a Singer) at a decent price, and bought from Amazon.
If using Amazon UK, look for free super saver delivery. (= free delivery to Spain) If buying from Amazon.es I would recommend using a prepaid debit card if you have one, or brace yourself for being debited twice and having to wait a week or so for a refund of the second payment - amazingly, after complaining bitterly, Amazon admitted they are aware of the problem, but just don't seem to be able to figure a way around it. It's something to do with payments going through a bank outside Spain, and having to make a "test" charge on your card first. Same thing happened to me with National Geographic. (Amazon bank in Ireland, NG in Holland I think) I've heard the same thing sometimes happens with RyanAir.