If your flight from SFO to LHR is with BA, 18.00 will give you plenty of time as long as you do not have a serious delay in arriving. Mid afternoon is usually not bad through immigration, which you will clear at LHR. You should be able to check your bag through to NCL. It's worth letting BA know that you will be connecting to NCL and they will make a note in the booking. It's not as certain as having all flights on one PNR but I have never had a problem when there has been a delay when arriving and departing on BA, or with another OW carrier, even when on separate bookings..