Sajnos, ahogy azt tapasztalhattad  ElementTree nem a legokosabb, ha névterekről van szó. 
A képességei kimerülnek abban, hogy a különböző keresési metódusoknak átadj egy dict-et, amiben egy kulcs egy prefix az érték pedig a hozzátartozó uri:
import xml.etree.ElementTree as ET
namespaces = {"s": "http://www.w3.org/2003/05/soap-envelope"}
root = ET.fromstring(xml_source)
print(root.findall("s:Body", namespaces))
Persze ez csak annyit könnyít az életeden, hogy {http://www.w3.org/2003/05/soap-envelope}Body helyett s:Body-ra kereshetsz.
Találtam egy drasztikusabb megoldást is a névterek teljes eltávolítására (itt).
Ez valóban eltávolít minden névteret az XML fájlból, viszont ennek a használatát előbb mindenképp gondold át!  Nem véletlenül vannak azok a névterek a fájlban, lehet hogy így ütközni fognak a tagek, vagy egyéb információt veszíthetsz.
from io import StringIO
import xml.etree.ElementTree as ET
# instead of ET.fromstring(xml_str)
it = ET.iterparse(StringIO(xml_str))
for _, el in it:
    if '}' in el.tag:
        el.tag = el.tag.split('}', 1)[1]  # strip all namespaces
root = it.root
print(root.findall("Body"))