Usually WAIT 1 is the normal movement loop WAIT. WAIT 5 is kind of slow. Other than that, it's basic movement code and such. not very many tips on something you did correctly lol.
1- Change line 13 and 24 with "While 1" and "WEND" respectively. You shouldn't use goto unless is something that you can't do with other syntax (Like switch case which is not supported by smilebasic)
2-If you want, you can add an extra if to check if any direction is pressed to print a blank space...something like this before the other ifs:
IF B AND &B1111 THEN LOCATE X,Y:?" "
3-Your sprite will have a problem if Y is 30. This is because ?(print) put a line break at the end of each call. To avoid this you must put the character ";" at the end(Example: ?"Hello world";)