Bricklink. Find stores from ASEAN countries, the shipping is more affordable and overall cost will be cheaper than ordering from EU/US stores. Check seller stores on shipping cost if you over a certain weight limit, try control or purchase more to fully maximize the weight.
Unless you need to very rare pieces then no choice.
Also wait and group all your order together from one or just 2-3 stores rather than spread out everywhere. Again, do an overall costing.
Some stores allow pickup, e.g. last time I order from one HK seller when I went to HK for a trip and he arranged me to pickup at one particular shop in Yau Ma Tei area.
There is no way you can buy the parts at cheapest listed price.
Depending on your project, I did buy full box and split it to get the parts after I calculated the total cost for parts is already more than half the cost of a full box, but yet I'm getting just 10-20% of the parts count only. e.g. box = rm1k, 1000 pieces. If buy loose parts 100 pieces, but already cost me RM500+
Of course not every part is equal average cost, but as I say, do simple costing on the parts.
thank you so much. I will start to do some homework before purchase.